@molecule/app-locales-ide 1.10.13 → 1.11.1

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 (240) hide show
  1. package/README.md +12 -3
  2. package/dist/af.d.ts.map +1 -1
  3. package/dist/af.js +160 -155
  4. package/dist/af.js.map +1 -1
  5. package/dist/am.d.ts.map +1 -1
  6. package/dist/am.js +163 -158
  7. package/dist/am.js.map +1 -1
  8. package/dist/ar.d.ts.map +1 -1
  9. package/dist/ar.js +88 -75
  10. package/dist/ar.js.map +1 -1
  11. package/dist/az.d.ts.map +1 -1
  12. package/dist/az.js +158 -153
  13. package/dist/az.js.map +1 -1
  14. package/dist/be.d.ts.map +1 -1
  15. package/dist/be.js +162 -153
  16. package/dist/be.js.map +1 -1
  17. package/dist/bg.d.ts.map +1 -1
  18. package/dist/bg.js +77 -72
  19. package/dist/bg.js.map +1 -1
  20. package/dist/bn.d.ts.map +1 -1
  21. package/dist/bn.js +159 -154
  22. package/dist/bn.js.map +1 -1
  23. package/dist/bs.d.ts.map +1 -1
  24. package/dist/bs.js +159 -152
  25. package/dist/bs.js.map +1 -1
  26. package/dist/ca.d.ts.map +1 -1
  27. package/dist/ca.js +161 -154
  28. package/dist/ca.js.map +1 -1
  29. package/dist/cs.d.ts.map +1 -1
  30. package/dist/cs.js +84 -77
  31. package/dist/cs.js.map +1 -1
  32. package/dist/cy.d.ts.map +1 -1
  33. package/dist/cy.js +167 -154
  34. package/dist/cy.js.map +1 -1
  35. package/dist/da.d.ts.map +1 -1
  36. package/dist/da.js +79 -74
  37. package/dist/da.js.map +1 -1
  38. package/dist/de.d.ts.map +1 -1
  39. package/dist/de.js +80 -75
  40. package/dist/de.js.map +1 -1
  41. package/dist/el.d.ts.map +1 -1
  42. package/dist/el.js +84 -79
  43. package/dist/el.js.map +1 -1
  44. package/dist/en.d.ts.map +1 -1
  45. package/dist/en.js +14 -0
  46. package/dist/en.js.map +1 -1
  47. package/dist/es.d.ts.map +1 -1
  48. package/dist/es.js +83 -76
  49. package/dist/es.js.map +1 -1
  50. package/dist/et.d.ts.map +1 -1
  51. package/dist/et.js +81 -76
  52. package/dist/et.js.map +1 -1
  53. package/dist/eu.d.ts.map +1 -1
  54. package/dist/eu.js +160 -155
  55. package/dist/eu.js.map +1 -1
  56. package/dist/fa.d.ts.map +1 -1
  57. package/dist/fa.js +158 -153
  58. package/dist/fa.js.map +1 -1
  59. package/dist/fi.d.ts.map +1 -1
  60. package/dist/fi.js +81 -76
  61. package/dist/fi.js.map +1 -1
  62. package/dist/fil.d.ts.map +1 -1
  63. package/dist/fil.js +159 -154
  64. package/dist/fil.js.map +1 -1
  65. package/dist/fr.d.ts.map +1 -1
  66. package/dist/fr.js +78 -71
  67. package/dist/fr.js.map +1 -1
  68. package/dist/ga.d.ts.map +1 -1
  69. package/dist/ga.js +163 -152
  70. package/dist/ga.js.map +1 -1
  71. package/dist/gl.d.ts.map +1 -1
  72. package/dist/gl.js +159 -154
  73. package/dist/gl.js.map +1 -1
  74. package/dist/gu.d.ts.map +1 -1
  75. package/dist/gu.js +158 -153
  76. package/dist/gu.js.map +1 -1
  77. package/dist/ha.d.ts.map +1 -1
  78. package/dist/ha.js +159 -154
  79. package/dist/ha.js.map +1 -1
  80. package/dist/he.d.ts.map +1 -1
  81. package/dist/he.js +166 -159
  82. package/dist/he.js.map +1 -1
  83. package/dist/hi.d.ts.map +1 -1
  84. package/dist/hi.js +158 -153
  85. package/dist/hi.js.map +1 -1
  86. package/dist/hr.d.ts.map +1 -1
  87. package/dist/hr.js +160 -153
  88. package/dist/hr.js.map +1 -1
  89. package/dist/hu.d.ts.map +1 -1
  90. package/dist/hu.js +77 -72
  91. package/dist/hu.js.map +1 -1
  92. package/dist/hy.d.ts.map +1 -1
  93. package/dist/hy.js +161 -156
  94. package/dist/hy.js.map +1 -1
  95. package/dist/id.d.ts.map +1 -1
  96. package/dist/id.js +84 -79
  97. package/dist/id.js.map +1 -1
  98. package/dist/ig.d.ts.map +1 -1
  99. package/dist/ig.js +160 -155
  100. package/dist/ig.js.map +1 -1
  101. package/dist/is.d.ts.map +1 -1
  102. package/dist/is.js +158 -153
  103. package/dist/is.js.map +1 -1
  104. package/dist/it.d.ts.map +1 -1
  105. package/dist/it.js +86 -79
  106. package/dist/it.js.map +1 -1
  107. package/dist/ja.d.ts.map +1 -1
  108. package/dist/ja.js +80 -75
  109. package/dist/ja.js.map +1 -1
  110. package/dist/ka.d.ts.map +1 -1
  111. package/dist/ka.js +160 -155
  112. package/dist/ka.js.map +1 -1
  113. package/dist/kk.d.ts.map +1 -1
  114. package/dist/kk.js +157 -152
  115. package/dist/kk.js.map +1 -1
  116. package/dist/km.d.ts.map +1 -1
  117. package/dist/km.js +160 -155
  118. package/dist/km.js.map +1 -1
  119. package/dist/kn.d.ts.map +1 -1
  120. package/dist/kn.js +158 -153
  121. package/dist/kn.js.map +1 -1
  122. package/dist/ko.d.ts.map +1 -1
  123. package/dist/ko.js +91 -86
  124. package/dist/ko.js.map +1 -1
  125. package/dist/ky.d.ts.map +1 -1
  126. package/dist/ky.js +158 -153
  127. package/dist/ky.js.map +1 -1
  128. package/dist/lo.d.ts.map +1 -1
  129. package/dist/lo.js +157 -152
  130. package/dist/lo.js.map +1 -1
  131. package/dist/lt.d.ts.map +1 -1
  132. package/dist/lt.js +77 -70
  133. package/dist/lt.js.map +1 -1
  134. package/dist/lv.d.ts.map +1 -1
  135. package/dist/lv.js +79 -72
  136. package/dist/lv.js.map +1 -1
  137. package/dist/mk.d.ts.map +1 -1
  138. package/dist/mk.js +158 -153
  139. package/dist/mk.js.map +1 -1
  140. package/dist/ml.d.ts.map +1 -1
  141. package/dist/ml.js +156 -151
  142. package/dist/ml.js.map +1 -1
  143. package/dist/mn.d.ts.map +1 -1
  144. package/dist/mn.js +158 -153
  145. package/dist/mn.js.map +1 -1
  146. package/dist/mr.d.ts.map +1 -1
  147. package/dist/mr.js +156 -151
  148. package/dist/mr.js.map +1 -1
  149. package/dist/ms.d.ts.map +1 -1
  150. package/dist/ms.js +159 -154
  151. package/dist/ms.js.map +1 -1
  152. package/dist/mt.d.ts.map +1 -1
  153. package/dist/mt.js +164 -153
  154. package/dist/mt.js.map +1 -1
  155. package/dist/my.d.ts.map +1 -1
  156. package/dist/my.js +156 -151
  157. package/dist/my.js.map +1 -1
  158. package/dist/nb.d.ts.map +1 -1
  159. package/dist/nb.js +79 -74
  160. package/dist/nb.js.map +1 -1
  161. package/dist/ne.d.ts.map +1 -1
  162. package/dist/ne.js +159 -154
  163. package/dist/ne.js.map +1 -1
  164. package/dist/nl.d.ts.map +1 -1
  165. package/dist/nl.js +80 -75
  166. package/dist/nl.js.map +1 -1
  167. package/dist/pa.d.ts.map +1 -1
  168. package/dist/pa.js +157 -152
  169. package/dist/pa.js.map +1 -1
  170. package/dist/pl.d.ts.map +1 -1
  171. package/dist/pl.js +84 -75
  172. package/dist/pl.js.map +1 -1
  173. package/dist/pt.d.ts.map +1 -1
  174. package/dist/pt.js +94 -87
  175. package/dist/pt.js.map +1 -1
  176. package/dist/ro.d.ts.map +1 -1
  177. package/dist/ro.js +84 -77
  178. package/dist/ro.js.map +1 -1
  179. package/dist/ru.d.ts.map +1 -1
  180. package/dist/ru.js +81 -72
  181. package/dist/ru.js.map +1 -1
  182. package/dist/si.d.ts.map +1 -1
  183. package/dist/si.js +160 -155
  184. package/dist/si.js.map +1 -1
  185. package/dist/sk.d.ts.map +1 -1
  186. package/dist/sk.js +81 -74
  187. package/dist/sk.js.map +1 -1
  188. package/dist/sl.d.ts.map +1 -1
  189. package/dist/sl.js +82 -73
  190. package/dist/sl.js.map +1 -1
  191. package/dist/sq.d.ts.map +1 -1
  192. package/dist/sq.js +157 -152
  193. package/dist/sq.js.map +1 -1
  194. package/dist/sr.d.ts.map +1 -1
  195. package/dist/sr.js +160 -153
  196. package/dist/sr.js.map +1 -1
  197. package/dist/sv.d.ts.map +1 -1
  198. package/dist/sv.js +84 -79
  199. package/dist/sv.js.map +1 -1
  200. package/dist/sw.d.ts.map +1 -1
  201. package/dist/sw.js +160 -155
  202. package/dist/sw.js.map +1 -1
  203. package/dist/ta.d.ts.map +1 -1
  204. package/dist/ta.js +156 -151
  205. package/dist/ta.js.map +1 -1
  206. package/dist/te.d.ts.map +1 -1
  207. package/dist/te.js +157 -152
  208. package/dist/te.js.map +1 -1
  209. package/dist/th.d.ts.map +1 -1
  210. package/dist/th.js +155 -150
  211. package/dist/th.js.map +1 -1
  212. package/dist/tr.d.ts.map +1 -1
  213. package/dist/tr.js +77 -72
  214. package/dist/tr.js.map +1 -1
  215. package/dist/types.d.ts +8 -3
  216. package/dist/types.d.ts.map +1 -1
  217. package/dist/uk.d.ts.map +1 -1
  218. package/dist/uk.js +81 -72
  219. package/dist/uk.js.map +1 -1
  220. package/dist/ur.d.ts.map +1 -1
  221. package/dist/ur.js +159 -154
  222. package/dist/ur.js.map +1 -1
  223. package/dist/uz.d.ts.map +1 -1
  224. package/dist/uz.js +157 -152
  225. package/dist/uz.js.map +1 -1
  226. package/dist/vi.d.ts.map +1 -1
  227. package/dist/vi.js +159 -154
  228. package/dist/vi.js.map +1 -1
  229. package/dist/yo.d.ts.map +1 -1
  230. package/dist/yo.js +161 -156
  231. package/dist/yo.js.map +1 -1
  232. package/dist/zh-TW.js +77 -72
  233. package/dist/zh-TW.js.map +1 -1
  234. package/dist/zh.d.ts.map +1 -1
  235. package/dist/zh.js +78 -73
  236. package/dist/zh.js.map +1 -1
  237. package/dist/zu.d.ts.map +1 -1
  238. package/dist/zu.js +162 -157
  239. package/dist/zu.js.map +1 -1
  240. package/package.json +1 -1
package/dist/ms.js CHANGED
@@ -5,12 +5,12 @@ export const ms = {
5
5
  'ide.chat.commitFileCount_one': 'Fail {{count}} komitmen',
6
6
  'ide.chat.commitFileCount_other': 'Komit {{count}} fail',
7
7
  'ide.chat.autoCommit.countedBadge': '{{commit}} dalam {{countdown}}',
8
- 'ide.chat.teamMessagesUnavailable': 'Team messaging is unavailable in this workspace.',
9
- 'ide.chat.teamOnly.badge': 'Team only — visible to your team; {{agentName}} will ignore it',
10
- 'ide.chat.tip.viewerTeamOnly': 'View-only access — read along and /teamsay (or just /t) the team. This gold icon marks team-only messages ({{agentName}} ignores them). Running the assistant and changing the model or settings need editor access.',
11
- 'ide.chat.viewerReadOnly': "You have view-only access, so you can't run the assistant here. You can still read along and use /teamsay to message the team.",
12
- 'ide.chat.viewerReadOnlyCommand': 'You have view-only access, so this command is unavailable. Ask an editor to make changes.',
13
- 'ide.chat.viewerReadOnlyNote': 'View-only access — read along and /teamsay (or just /t) the team. Running the assistant and changing the model or settings need editor access.',
8
+ 'ide.chat.teamMessagesUnavailable': 'Pemesejan pasukan tidak tersedia di ruang kerja ini.',
9
+ 'ide.chat.teamOnly.badge': 'Pasukan sahaja — kelihatan kepada pasukan anda; {{agentName}} akan mengabaikannya',
10
+ 'ide.chat.tip.viewerTeamOnly': 'Akses lihat sahaja — baca bersama dan /teamsay (atau hanya /t) pasukan. Ikon emas ini menandakan mesej pasukan sahaja ({{agentName}} mengabaikannya). Menjalankan pembantu dan menukar model atau tetapan memerlukan akses editor.',
11
+ 'ide.chat.viewerReadOnly': 'Anda mempunyai akses lihat sahaja, jadi anda tidak boleh menjalankan pembantu di sini. Anda masih boleh membaca dan menggunakan /teamsay untuk menghantar mesej kepada pasukan.',
12
+ 'ide.chat.viewerReadOnlyCommand': 'Anda mempunyai akses lihat sahaja, jadi arahan ini tidak tersedia. Minta editor untuk membuat perubahan.',
13
+ 'ide.chat.viewerReadOnlyNote': 'Akses lihat sahaja — baca bersama dan /teamsay (atau hanya /t) pasukan. Menjalankan pembantu dan menukar model atau tetapan memerlukan akses editor.',
14
14
  'ide.chat.viewPlans': 'Lihat pelan',
15
15
  'ide.chat.fileCount': '{{count}} fail',
16
16
  'common.cancel': 'Batal',
@@ -23,7 +23,7 @@ export const ms = {
23
23
  'ide.chat.continueButton': 'Teruskan',
24
24
  'upgrade.viewPlans': 'Naik taraf',
25
25
  'upgrade.signUp': 'Daftar',
26
- 'ide.chat.modelUpgradeRequired': '{{model}} is available on Pro. Upgrade to access all models.',
26
+ 'ide.chat.modelUpgradeRequired': '{{model}} tersedia pada Pro. Tingkatkan untuk mengakses semua model.',
27
27
  'ide.chat.autoFixCountdown': 'Sambung semula',
28
28
  'ide.chat.autoFixPause': 'Jeda',
29
29
  'ide.chat.autoFixCancel': 'Batal',
@@ -40,29 +40,29 @@ export const ms = {
40
40
  'ide.search.searching': 'Mencari…',
41
41
  'ide.sidebar.search': 'Cari',
42
42
  'ide.toolCall.noMatches': 'Tiada padanan',
43
- 'ide.chat.askUserMultiHint': 'You can choose more than one.',
43
+ 'ide.chat.askUserMultiHint': 'Anda boleh memilih lebih daripada satu.',
44
44
  'ide.chat.askUserSelectedCount': '{{count}} selected',
45
45
  'ide.chat.askUserMultiConfirm': 'Confirm choice',
46
46
  'ide.chat.askUserPreview': 'Preview',
47
47
  'ide.chat.taskListTitle': 'Working plan',
48
48
  'ide.chat.taskListProgress': '{{done}} of {{total}} done',
49
- 'ide.chat.planReview.badge': 'Plan ready for review',
49
+ 'ide.chat.planReview.badge': 'Rancang sedia untuk semakan',
50
50
  'ide.chat.planReview.fallbackTitle': 'Implementation plan',
51
51
  'ide.chat.planReview.steps': '{{count}} steps',
52
52
  'ide.chat.planReview.openPlan': 'Open plan',
53
53
  'ide.chat.planReview.more': '+ {{count}} more steps',
54
- 'ide.chat.backgroundRunning': '{{count}} task running in the background',
55
- 'ide.chat.backgroundFailed': '{{count}} background task failed',
56
- 'ide.chat.backgroundDone': '{{count}} background task finished',
54
+ 'ide.chat.backgroundRunning': '{{count}} tugasan berjalan di latar belakang',
55
+ 'ide.chat.backgroundFailed': '{{count}} tugasan latar belakang gagal',
56
+ 'ide.chat.backgroundDone': '{{count}} tugasan latar belakang selesai',
57
57
  'ide.chat.backgroundElapsed': 'running · {{elapsed}}',
58
58
  'ide.chat.backgroundExit': 'exit {{code}} · {{elapsed}}',
59
59
  'ide.chat.backgroundOk': 'done · {{elapsed}}',
60
60
  'ide.chat.subagent.build': 'Build subagent',
61
- 'ide.chat.subagent.inBackground': 'running in the background',
61
+ 'ide.chat.subagent.inBackground': 'berjalan di latar belakang',
62
62
  'ide.chat.subagent.wroteFiles': '{{count}} files changed',
63
63
  'ide.toolCall.stillRunning': 'Still running',
64
- 'ide.toolCall.startedInBackground': 'Running in the background',
65
- 'ide.toolCall.onlySession': 'Only this one',
64
+ 'ide.toolCall.startedInBackground': 'Berlari di latar belakang',
65
+ 'ide.toolCall.onlySession': 'Hanya yang ini',
66
66
  'ide.toolCall.sessionCount': '{{count}} other sessions',
67
67
  'ide.toolCall.sentTo': 'Sent to {{to}}',
68
68
  'ide.chat.subagent.judge': 'Acceptance judge',
@@ -70,7 +70,7 @@ export const ms = {
70
70
  'ide.chat.subagent.working': 'working…',
71
71
  'ide.chat.subagent.verdictPass': 'PASS',
72
72
  'ide.chat.subagent.verdictFail': 'FAIL',
73
- 'ide.chat.subagent.showReport': 'Show full report',
73
+ 'ide.chat.subagent.showReport': 'Tunjukkan laporan penuh',
74
74
  'ide.chat.subagent.hideReport': 'Show less',
75
75
  'ide.chat.askUserSubmit': 'Hantar',
76
76
  'ide.toolCall.statusRunning': 'Berjalan…',
@@ -88,6 +88,7 @@ export const ms = {
88
88
  'ide.chat.thoughtBriefly': 'Berfikir sebentar',
89
89
  'ide.chat.thinking': 'Berfikir',
90
90
  'ide.chat.verificationPassed': 'Cek diluluskan',
91
+ 'ide.chat.renderCheckUnavailable': 'Semakan pemaparan tidak tersedia',
91
92
  'ide.chat.typeErrorCount': '1 jenis ralat',
92
93
  'ide.chat.lintErrorCount': '1 ralat lint',
93
94
  'ide.chat.lintWarningCount': '1 amaran',
@@ -113,20 +114,20 @@ export const ms = {
113
114
  'ide.chat.switchedToPlan': 'Beralih ke mod pelan',
114
115
  'ide.chat.switchedToExecute': 'Beralih ke mod pelaksanaan',
115
116
  'ide.chat.costError': 'Tidak dapat mengambil data penggunaan.',
116
- 'ide.chat.usageAllowanceTodayLine': "~{{percent}}% of today's AI allowance used.",
117
- 'ide.chat.usageAllowanceUsedUpLine': "Today's AI allowance is used up — refreshes {{when}}.",
118
- 'ide.chat.usageAllowanceMonthlyLine': '~{{percent}}% of this month’s AI allowance used.',
119
- 'ide.chat.usageAllowanceUsedUpMonthlyLine': 'This month’s AI allowance is used up — refreshes {{when}}.',
117
+ 'ide.chat.usageAllowanceTodayLine': '~ {{percent}} % daripada elaun AI hari ini yang digunakan.',
118
+ 'ide.chat.usageAllowanceUsedUpLine': 'Elaun AI hari ini telah habis digunakan — menyegarkan {{when}}.',
119
+ 'ide.chat.usageAllowanceMonthlyLine': '~ {{percent}} % daripada elaun AI bulan ini telah digunakan.',
120
+ 'ide.chat.usageAllowanceUsedUpMonthlyLine': 'Elaun AI bulan ini telah habis digunakan — menyegarkan {{when}}.',
120
121
  'ide.chat.resetSoon': 'soon',
121
- 'ide.chat.resetUnderHour': 'in under an hour',
122
+ 'ide.chat.resetUnderHour': 'dalam masa kurang sejam',
122
123
  'ide.chat.resetTomorrow': 'tomorrow',
123
- 'ide.chat.resetInHours': 'in about {{hours}} hours',
124
- 'ide.chat.resetInDays': 'in about {{days}} days',
124
+ 'ide.chat.resetInHours': 'dalam masa kira-kira {{hours}} jam',
125
+ 'ide.chat.resetInDays': 'dalam masa kira-kira {{days}} hari',
125
126
  'ide.chat.models.colUsageRate': 'Usage rate',
126
- 'ide.chat.models.usageRateHint': 'How fast this model uses your AI allowance, relative to the most economical model',
127
+ 'ide.chat.models.usageRateHint': 'Seberapa pantas model ini menggunakan elaun AI anda, berbanding model paling menjimatkan',
127
128
  'ide.chat.models.usageRateValue': '×{{rate}} usage',
128
129
  'ide.chat.models.usageRateYourKey': 'your key',
129
- 'ide.chat.models.usageRateYourKeyHint': 'Billed to your own provider key, not your plan.',
130
+ 'ide.chat.models.usageRateYourKeyHint': 'Dibilkan kepada kunci pembekal anda sendiri, bukan pelan anda.',
130
131
  'ide.chat.models.peakNow': 'puncak ×{{multiplier}} sekarang',
131
132
  'ide.chat.models.peakLater': '×{{multiplier}} pada waktu puncak',
132
133
  'ide.chat.models.peakHint': 'Model ini berharga ×{{multiplier}} antara {{windows}}. Sepanjang baki hari, kadar biasa dikenakan.',
@@ -140,7 +141,7 @@ export const ms = {
140
141
  'ide.chat.autoApproveEnabled': 'Kelulusan automatik diaktifkan — arahan yang merosakkan akan dijalankan tanpa bertanya. Perlindungan kebocoran data masih akan bertanya. Matikan dengan /autoapprove.',
141
142
  'ide.chat.autoApproveDisabled': 'Kelulusan automatik dilumpuhkan — arahan yang merosakkan akan bertanya sebelum dijalankan.',
142
143
  'ide.chat.autoApproveError': 'Gagal mengemas kini tetapan kelulusan automatik.',
143
- 'ide.chat.modelUsage': 'Penggunaan: /model<model-name> (cth {{examples}})',
144
+ 'ide.chat.modelUsage': 'Penggunaan: /model <model-name> (cth. {{examples}})',
144
145
  'ide.chat.maxLoopsReached': 'Had gelung maksimum dicapai.',
145
146
  'ide.chat.maxLoopsError': 'Gagal mengemas kini lelaran alat maksimum.',
146
147
  'ide.chat.dropFilesHere': 'Letak fail di sini',
@@ -211,7 +212,7 @@ export const ms = {
211
212
  'ide.toolCall.statusServerError': 'Ralat pelayan',
212
213
  'ide.chat.title': 'Sembang',
213
214
  'ide.chat.placeholder': 'Hantar mesej...',
214
- 'ide.chat.placeholderViewer': 'Message your team',
215
+ 'ide.chat.placeholderViewer': 'Mesej pasukan anda',
215
216
  'ide.chat.emptyState': 'Huraikan apa yang anda ingin bina...',
216
217
  'ide.chat.molecule': 'Molekul',
217
218
  'ide.chat.automatic': 'Sent automatically',
@@ -239,7 +240,7 @@ export const ms = {
239
240
  'ide.chat.soundEvent.loop_limit_reached': 'Had gelung dicapai',
240
241
  'ide.chat.soundEvent.verification_result': 'Keputusan pengesahan',
241
242
  'ide.chat.soundEvent.preview_error': 'Ralat pratonton',
242
- 'ide.chat.soundEventDesc.message': 'A teammate posted a team-only note',
243
+ 'ide.chat.soundEventDesc.message': 'Seorang rakan sepasukan menyiarkan nota khusus pasukan',
243
244
  'ide.chat.soundEventDesc.done': '{{agentName}} finished responding',
244
245
  'ide.chat.soundEventDesc.error': 'Sesuatu telah berlaku semasa respons',
245
246
  'ide.chat.soundEventDesc.tool_result': 'Panggilan alat (bacaan fail, arahan, dsb.) selesai',
@@ -325,37 +326,35 @@ export const ms = {
325
326
  'ide.chat.activity.switching': 'Switching mode',
326
327
  'ide.chat.activity.thinking': 'Thinking',
327
328
  'ide.chat.activity.writing': 'Writing',
328
- 'ide.chat.activity.writingPlan': 'Writing the plan',
329
+ 'ide.chat.activity.writingPlan': 'Menulis rancangan itu',
329
330
  'ide.activity.defaultSummary': '{{type}} captured',
330
- 'ide.chat.askUserPlaceholderEmpty': 'Type your answer…',
331
- 'ide.chat.awaitingSandbox': 'Waiting for the development environment to finish starting…',
332
- 'ide.chat.compactNotNeeded': 'Context usage is low — no compaction needed.',
333
- 'ide.chat.phaseBuilding': '🔨 Building your app',
331
+ 'ide.chat.askUserPlaceholderEmpty': 'Taip jawapan anda…',
332
+ 'ide.chat.awaitingSandbox': 'Menunggu persekitaran pembangunan selesai bermula…',
333
+ 'ide.chat.compactNotNeeded': 'Penggunaan konteks adalah rendah — tiada pemadatan diperlukan.',
334
+ 'ide.chat.phaseBuilding': '🔨 Membina aplikasi anda',
334
335
  'ide.chat.phasePlanning': '📝 Plan mode',
335
336
  'ide.chat.autoFixResume': 'Resume',
336
337
  'ide.chat.openSettings': 'Settings',
337
338
  'ide.chat.tip.dismiss': 'Dismiss tip',
338
- 'ide.chat.tip.getStarted': 'Petua: taip / untuk melihat setiap arahan, atau @ nama fail untuk diberikan{{agentName}} fail untuk digunakan.',
339
339
  'ide.chat.tip.mention': 'Petua: taip @namafail untuk melampirkan fail projek sebagai konteks —{{agentName}} membacanya secara langsung.',
340
340
  'ide.chat.tip.slash': 'Petua: taip / untuk menyemak imbas setiap arahan (commit, diff, model dan banyak lagi).',
341
- 'ide.chat.tip.plan': 'Petua: gunakan /rancang untuk dimiliki{{agentName}} menyelidik dan mencadangkan pelan sebelum ia mengedit sebarang fail.',
342
341
  'ide.chat.tip.undo': 'Petua: gunakan /undo untuk segera mengembalikan perubahan fail giliran AI terakhir jika ia salah arah.',
343
342
  'ide.chat.tip.compact': 'Petua: perbualan panjang? /compact memampatkan konteks supaya anda mempunyai ruang untuk bekerja.',
344
343
  'ide.chat.tip.commit': 'Petua: gunakan /commit untuk menyimpan perubahan anda sebagai git commit yang anda sentiasa boleh kembali.',
345
- 'ide.chat.tip.report': 'Petua: ada sesuatu yang tidak kena? /laporan menghantar pepijat atau maklum balas kepada pasukan dengan sembang terbaru anda dilampirkan.',
346
- 'ide.chat.undoError': 'Failed to revert changes.',
347
- 'ide.chat.autoCommit.badge': 'Auto-commit in {{countdown}}',
348
- 'ide.chat.autoCommit.cancel': 'Cancel auto-commit',
349
- 'ide.chat.autoCommit.cancelled': 'Auto-commit cancelled.',
350
- 'ide.chat.autoCommit.enabled': 'Auto-commit on: committing {{seconds}}s after the last file change. /autocommit 0 to cancel.',
344
+ 'ide.chat.tip.report': 'Petua: ada sesuatu yang tidak kena? /report menghantar pepijat atau maklum balas kepada pasukan dengan sembang terbaru anda dilampirkan.',
345
+ 'ide.chat.undoError': 'Gagal membalikkan perubahan.',
346
+ 'ide.chat.autoCommit.badge': 'Komit automatik dalam {{countdown}}',
347
+ 'ide.chat.autoCommit.cancel': 'Batalkan auto-komit',
348
+ 'ide.chat.autoCommit.cancelled': 'Komit automatik dibatalkan.',
349
+ 'ide.chat.autoCommit.enabled': 'Komit automatik pada: komit {{seconds}} s selepas perubahan fail terakhir.\nTetapkan kepada 0 untuk melumpuhkan autokomit.',
351
350
  'ide.chat.autoCommit.usage': 'Usage: /autocommit <seconds> — auto-commit that many seconds after the last file change. /autocommit 0 cancels.',
352
- 'ide.chat.effort.error': 'Failed to update reasoning effort.',
353
- 'ide.chat.effort.fixedForModel': 'Reasoning effort is fixed on {{model}} ({{mode}} mode) — nothing to set.',
354
- 'ide.chat.effort.header': 'Reasoning effort per mode:',
355
- 'ide.chat.effort.modeFixed': ' {{mode}} ({{model}}): fixed — this model has one reasoning mode',
351
+ 'ide.chat.effort.error': 'Gagal mengemas kini usaha penaakulan.',
352
+ 'ide.chat.effort.fixedForModel': 'Usaha penaakulan ditetapkan pada {{model}} ({{mode}} mode) — tiada apa yang perlu ditetapkan.',
353
+ 'ide.chat.effort.header': 'Usaha penaakulan setiap mod:',
354
+ 'ide.chat.effort.modeFixed': ' {{mode}} ({{model}}): telah ditetapkan — model ini mempunyai satu mod penaakulan',
356
355
  'ide.chat.effort.modeLine': ' {{mode}} ({{model}}): {{current}} — available: {{levels}}',
357
- 'ide.chat.effort.setMode': 'Reasoning effort for {{mode}} set to {{level}} ({{model}}).',
358
- 'ide.chat.setting.effort': 'Reasoning effort for {{mode}} set to {{level}}.',
356
+ 'ide.chat.effort.setMode': 'Usaha penaakulan untuk {{mode}} ditetapkan kepada {{level}} ({{model}}).',
357
+ 'ide.chat.setting.effort': 'Usaha penaakulan untuk {{mode}} ditetapkan kepada {{level}}.',
359
358
  'ide.chat.settings.effortFixed': 'fixed',
360
359
  'ide.chat.effort.usage': 'Usage: /effort <level> (current mode), /effort --plan|--execute <level>, /effort ? for status.',
361
360
  'ide.chat.models.colContext': 'Context',
@@ -366,93 +365,93 @@ export const ms = {
366
365
  'ide.chat.models.freeYes': '✓ Free',
367
366
  'ide.chat.models.sortBy': 'Sort by {{column}}',
368
367
  'ide.chat.modelsLoading': 'Loading models…',
369
- 'ide.chat.modelsNone': 'No models are available yet — ask your admin to wire an AI provider.',
368
+ 'ide.chat.modelsNone': 'Tiada model tersedia lagi — minta pentadbir anda untuk menghubungi penyedia AI.',
370
369
  'ide.chat.modelInUse': 'Now using {{model}}',
371
370
  'ide.chat.cardBy': '{{text}} — {{name}}',
372
- 'ide.chat.modelRemoved': 'Your selected model "{{removed}}" is no longer available. Switched to "{{fallback}}". Type /model to pick another.',
373
- 'ide.chat.modelRemovedNoFallback': 'Your selected model "{{removed}}" is no longer available, and no replacement is bonded on the server. Ask your admin to wire an AI provider.',
371
+ 'ide.chat.modelRemoved': 'Model pilihan anda " {{removed}} " tidak lagi tersedia. Beralih kepada " {{fallback}} ". Taip /model untuk memilih yang lain.',
372
+ 'ide.chat.modelRemovedNoFallback': 'Model pilihan anda " {{removed}} " tidak lagi tersedia dan tiada penggantian diikat pada pelayan. Minta pentadbir anda untuk menghubungi penyedia AI.',
374
373
  'ide.chat.olderModelsCollapse': 'Older models ⌃ ({{count}})',
375
374
  'ide.chat.olderModelsExpand': 'Older models ⌄ ({{count}})',
376
- 'ide.chat.selectExecuteModel': 'Select execute-mode model',
377
- 'ide.chat.selectPlanModel': 'Select plan-mode model',
378
- 'ide.chat.executeModelSet': 'Execute-mode model set to {{name}}',
379
- 'ide.chat.planModelSet': 'Plan-mode model set to {{name}}',
380
- 'ide.chat.selectCommitModel': 'Select commit-message model',
381
- 'ide.chat.selectCompactModel': 'Select compaction model',
382
- 'ide.chat.commitModelSet': 'Commit-message model set to {{name}}',
383
- 'ide.chat.compactModelSet': 'Compaction model set to {{name}}',
375
+ 'ide.chat.selectExecuteModel': 'Pilih model mod pelaksanaan',
376
+ 'ide.chat.selectPlanModel': 'Pilih model mod pelan',
377
+ 'ide.chat.executeModelSet': 'Model mod pelaksanaan ditetapkan kepada {{name}}',
378
+ 'ide.chat.planModelSet': 'Model mod pelan ditetapkan kepada {{name}}',
379
+ 'ide.chat.selectCommitModel': 'Pilih model mesej komit',
380
+ 'ide.chat.selectCompactModel': 'Pilih model pemadatan',
381
+ 'ide.chat.commitModelSet': 'Model mesej komit ditetapkan kepada {{name}}',
382
+ 'ide.chat.compactModelSet': 'Model pemadatan ditetapkan kepada {{name}}',
384
383
  'ide.chat.modelModeLabel': 'Mode',
385
384
  'ide.chat.modelMode.default': 'Default',
386
385
  'ide.chat.modelMode.commit': 'Commit messages',
387
386
  'ide.chat.modelMode.compact': 'Compaction',
388
387
  'ide.chat.modelModeOption': '{{mode}} · {{model}}',
389
- 'ide.chat.manageCustomModels': 'Add or manage your own models…',
390
- 'ide.chat.freeInPlan': 'free in plan',
391
- 'ide.chat.freeInExecute': 'free in execute',
392
- 'ide.chat.freeInCommit': 'free in commit',
393
- 'ide.chat.modeOnlyPlan': 'On the free plan, this model is used in plan mode.',
394
- 'ide.chat.modeOnlyExecute': 'On the free plan, this model is used in execute mode.',
395
- 'ide.chat.modeOnlyCommit': 'On the free plan, this model is used for commit messages and compaction.',
388
+ 'ide.chat.manageCustomModels': 'Tambah atau uruskan model anda sendiri…',
389
+ 'ide.chat.freeInPlan': 'percuma dalam pelan',
390
+ 'ide.chat.freeInExecute': 'percuma dalam melaksanakan',
391
+ 'ide.chat.freeInCommit': 'bebas dalam komit',
392
+ 'ide.chat.modeOnlyPlan': 'Pada pelan percuma, model ini digunakan dalam mod pelan.',
393
+ 'ide.chat.modeOnlyExecute': 'Pada pelan percuma, model ini digunakan dalam mod pelaksanaan.',
394
+ 'ide.chat.modeOnlyCommit': 'Pada pelan percuma, model ini digunakan untuk mesej komit dan pemadatan.',
396
395
  'ide.chat.streamingOutputTokens': '~{{count}} tokens',
397
- 'ide.chat.streamingOutputTokensHint': 'Estimated output tokens this turn — /cost shows input and cached.',
398
- 'ide.chat.costSummary': 'Model: {{model}}\nInput: {{input}} tokens\nOutput: {{output}} tokens',
399
- 'ide.chat.costCachedLine': 'Cached input: {{cached}} tokens (billed at a fraction of input)',
396
+ 'ide.chat.streamingOutputTokensHint': 'Anggaran token output pada giliran ini — /cost menunjukkan input dan disimpan dalam cache.',
397
+ 'ide.chat.costSummary': 'Model: {{model}}\nInput: {{input}}\nOutput: token {{output}}',
398
+ 'ide.chat.costCachedLine': 'Input tersimpan: token {{cached}} (dibilkan pada sebahagian kecil daripada input)',
400
399
  'ide.chat.lintErrorsCount': '{{count}} lint errors',
401
400
  'ide.chat.lintWarningsCount': '{{count}} warnings',
402
401
  'ide.chat.typeErrorsCount': '{{count}} type errors',
403
402
  'ide.chat.help.commandsHeading': '── Commands ──',
404
- 'ide.chat.help.intro': "{{agentName}} is {{productName}}'s AI coding agent. Describe what you want to build and it will scaffold, code, and iterate with you.",
403
+ 'ide.chat.help.intro': '{{agentName}} ialah ejen pengekodan AI {{productName}}. Huraikan apa yang anda ingin bina dan ia akan membentuk, mengekod dan mengulanginya bersama anda.',
405
404
  'ide.chat.help.introHeading': '── Getting Started ──',
406
- 'ide.chat.help.modeDiscovery': 'Discovery — new conversations start here. {{agentName}} asks clarifying questions to nail down requirements before writing any code.',
407
- 'ide.chat.help.modeExecute': 'Execute — the default working mode. {{agentName}} writes code, runs tools, and applies changes, then verifies them.',
408
- 'ide.chat.help.modePlan': 'Plan — {{agentName}} researches the codebase and proposes a plan WITHOUT editing files. Toggle with /plan. Best for big or risky changes.',
405
+ 'ide.chat.help.modeDiscovery': 'Penemuan — perbualan baharu bermula di sini. {{agentName}} menanyakan soalan penjelasan untuk menentukan keperluan sebelum menulis sebarang kod.',
406
+ 'ide.chat.help.modeExecute': 'Laksanakan — mod kerja lalai. {{agentName}} menulis kod, menjalankan alatan dan menggunakan perubahan, kemudian mengesahkannya.',
407
+ 'ide.chat.help.modePlan': 'Pelan — {{agentName}} menyelidik pangkalan kod dan mencadangkan pelan TANPA mengedit fail. Togol dengan /plan. Terbaik untuk perubahan besar atau berisiko.',
409
408
  'ide.chat.help.modesHeading': '── Modes ──',
410
- 'ide.chat.help.shortcuts': 'Press Cmd+/ (Ctrl+/ on Windows/Linux) to view all keyboard shortcuts.',
411
- 'ide.chat.help.tipCompact': '• Use /compact to compress context when the conversation gets long.',
409
+ 'ide.chat.help.shortcuts': 'Tekan Cmd+/ (Ctrl+/ pada Windows/Linux) untuk melihat semua pintasan papan kekunci.',
410
+ 'ide.chat.help.tipCompact': '• Gunakan /compact untuk memampatkan konteks apabila perbualan menjadi panjang.',
412
411
  'ide.chat.help.tipMention': '• Type @filename to attach a project file as context (or drag & drop any file).',
413
- 'ide.chat.help.tipPlan': '• Use /plan to have {{agentName}} research before making changes.',
414
- 'ide.chat.help.tipSlash': '• Type / to browse every command above.',
415
- 'ide.chat.help.tipSpecific': '• Be specific — "Add a login page with email/password and Google OAuth" beats "add auth".',
416
- 'ide.chat.help.tipUndo': "• Use /undo to revert the last AI turn's file changes if it goes off track.",
412
+ 'ide.chat.help.tipPlan': '• Gunakan /plan untuk menjalankan kajian {{agentName}} sebelum membuat perubahan.',
413
+ 'ide.chat.help.tipSlash': '• Taip / untuk menyemak imbas setiap arahan di atas.',
414
+ 'ide.chat.help.tipSpecific': '• Pastikan anda spesifik — "Tambah halaman log masuk dengan e-mel/kata laluan dan Google OAuth" mengatasi "tambah pengesahan".',
415
+ 'ide.chat.help.tipUndo': '• Gunakan /undo untuk mengembalikan perubahan fail pusingan AI terakhir jika ia tersasar.',
417
416
  'ide.chat.help.tipsHeading': '── Tips ──',
418
417
  'ide.chat.report.heading': 'Report a bug',
419
418
  'ide.chat.report.openReport': 'Report a bug',
420
- 'ide.chat.report.subheading': 'Tell us what went wrong or what you’d like to see. Goes to {{productName}}’s team.',
419
+ 'ide.chat.report.subheading': 'Beritahu kami apa yang telah berlaku atau apa yang anda ingin lihat. Pergi ke pasukan {{productName}}.',
421
420
  'ide.chat.report.titleLabel': 'Title',
422
421
  'ide.chat.report.titlePlaceholder': 'Brief summary',
423
422
  'ide.chat.report.descriptionLabel': 'Description',
424
- 'ide.chat.report.descriptionPlaceholder': 'What happened? What did you expect?',
425
- 'ide.chat.report.stepsLabel': 'Steps to reproduce (optional)',
423
+ 'ide.chat.report.descriptionPlaceholder': 'Apa yang berlaku? Apa yang anda jangkakan?',
424
+ 'ide.chat.report.stepsLabel': 'Langkah-langkah untuk menghasilkan semula (pilihan)',
426
425
  'ide.chat.report.stepsPlaceholder': '1. …\n2. …',
427
- 'ide.chat.report.includeChat': 'Include recent chat for context',
426
+ 'ide.chat.report.includeChat': 'Sertakan sembang terkini untuk konteks',
428
427
  'ide.chat.report.submit': 'Submit report',
429
428
  'ide.chat.report.submitting': 'Submitting…',
430
- 'ide.chat.report.error': 'Could not submit your report. Please try again.',
429
+ 'ide.chat.report.error': 'Tidak dapat menghantar laporan anda. Sila cuba lagi.',
431
430
  'ide.chat.report.viewIssue': 'View issue',
432
431
  'ide.chat.scripts.heading': 'Scripts',
433
432
  'ide.chat.scripts.new': 'New script',
434
433
  'ide.chat.scripts.cancelNew': 'Cancel',
435
- 'ide.chat.scripts.namePlaceholder': 'Script name (e.g. run-tests)',
436
- 'ide.chat.scripts.descriptionPlaceholder': 'What does it do?',
434
+ 'ide.chat.scripts.namePlaceholder': 'Nama skrip (cth. ujian-jalan)',
435
+ 'ide.chat.scripts.descriptionPlaceholder': 'Apa fungsinya?',
437
436
  'ide.chat.scripts.bodyPlaceholder': '#!/bin/sh\nnpm test',
438
437
  'ide.chat.scripts.searchPlaceholder': 'Filter scripts…',
439
438
  'ide.chat.scripts.save': 'Save script',
440
439
  'ide.chat.scripts.saving': 'Saving…',
441
- 'ide.chat.scripts.saveError': 'Could not save the script. Please try again.',
442
- 'ide.chat.scripts.invalid': 'A script needs a name and a non-empty body.',
443
- 'ide.chat.scripts.empty': 'No saved scripts yet. Create one above, or ask {{agentName}} to write and save one.',
440
+ 'ide.chat.scripts.saveError': 'Tidak dapat menyimpan skrip. Sila cuba lagi.',
441
+ 'ide.chat.scripts.invalid': 'Skrip memerlukan nama dan isi yang tidak kosong.',
442
+ 'ide.chat.scripts.empty': 'Tiada skrip yang disimpan lagi. Cipta satu di atas, atau minta {{agentName}} untuk menulis dan menyimpan satu.',
444
443
  'ide.chat.scripts.loading': 'Loading scripts…',
445
- 'ide.chat.scripts.error': 'Could not load scripts for this project.',
446
- 'ide.chat.scripts.noMatch': 'No scripts match “{{query}}”.',
444
+ 'ide.chat.scripts.error': 'Tidak dapat memuatkan skrip untuk projek ini.',
445
+ 'ide.chat.scripts.noMatch': 'Tiada skrip yang sepadan dengan “ {{query}} ”.',
447
446
  'ide.chat.scripts.run': 'Run',
448
- 'ide.chat.scripts.runTitle': 'Run this script in the sandbox',
447
+ 'ide.chat.scripts.runTitle': 'Jalankan skrip ini dalam kotak pasir',
449
448
  'ide.chat.scripts.running': 'Running…',
450
- 'ide.chat.scripts.runError': 'Failed to run the script.',
451
- 'ide.chat.scripts.runNone': 'No saved scripts yet. Open /scripts to create one.',
452
- 'ide.chat.scripts.runNotFound': 'No script named “{{name}}”. Available: {{names}}',
449
+ 'ide.chat.scripts.runError': 'Gagal menjalankan skrip.',
450
+ 'ide.chat.scripts.runNone': 'Tiada skrip yang disimpan lagi. Buka /scripts untuk menciptanya.',
451
+ 'ide.chat.scripts.runNotFound': 'Tiada skrip bernama “ {{name}} ”. Tersedia: {{names}}',
453
452
  'ide.chat.scripts.runUsage': 'Usage: /run <name> — run a saved script. Use /scripts to see them.',
454
453
  'ide.chat.scripts.cmdExitOk': '{{name}} exited 0',
455
- 'ide.chat.scripts.cmdExitFail': '{{name}} exited with code {{code}}',
454
+ 'ide.chat.scripts.cmdExitFail': '{{name}} keluar dengan kod {{code}}',
456
455
  'ide.chat.scripts.exitOk': 'Exited 0',
457
456
  'ide.chat.scripts.exitFail': 'Exited {{code}}',
458
457
  'ide.chat.scripts.noOutput': '(no output)',
@@ -465,28 +464,28 @@ export const ms = {
465
464
  'ide.chat.settings.modelUnset': 'Not set',
466
465
  'ide.chat.settings.off': 'Off',
467
466
  'ide.chat.settings.on': 'On',
468
- 'ide.chat.settings.soundsSummary': '{{enabled}} of {{total}} events enabled',
467
+ 'ide.chat.settings.soundsSummary': '{{enabled}} daripada {{total}} peristiwa didayakan',
469
468
  'ide.chat.share.heading': 'Share project',
470
469
  'ide.chat.share.loading': 'Loading…',
471
- 'ide.chat.share.none': 'No public link yet.',
472
- 'ide.chat.share.copyHint': 'Click to copy',
470
+ 'ide.chat.share.none': 'Tiada pautan awam lagi.',
471
+ 'ide.chat.share.copyHint': 'Klik untuk menyalin',
473
472
  'ide.chat.share.revoke': 'Revoke',
474
473
  'ide.chat.share.revoking': 'Revoking…',
475
- 'ide.chat.share.revokeFailed': 'Could not revoke that link. Please try again.',
474
+ 'ide.chat.share.revokeFailed': 'Tidak dapat membatalkan pautan itu. Sila cuba lagi.',
476
475
  'ide.chat.share.openShare': 'Share project',
477
- 'ide.chat.share.subheading': 'Create a public link. Anyone with the link gets the role you choose — a viewer link is read-only.',
476
+ 'ide.chat.share.subheading': 'Cipta pautan awam. Sesiapa sahaja yang mempunyai pautan tersebut akan mendapat peranan yang anda pilih — pautan penonton adalah untuk bacaan sahaja.',
478
477
  'ide.chat.share.roleLabel': 'Role',
479
478
  'ide.chat.share.create': 'Create link',
480
479
  'ide.chat.share.creating': 'Creating…',
481
- 'ide.chat.share.created': 'Created a {{role}} share link.',
482
- 'ide.chat.share.createAnother': 'Create new link',
480
+ 'ide.chat.share.created': 'Pautan kongsi {{role}} telah dicipta.',
481
+ 'ide.chat.share.createAnother': 'Cipta pautan baharu',
483
482
  'ide.chat.share.linkLabel': 'Public link',
484
483
  'ide.chat.share.copy': 'Copy link',
485
484
  'ide.chat.share.copyShort': 'Copy',
486
485
  'ide.chat.share.copied': 'Copied',
487
486
  'ide.chat.share.openLink': 'Open link',
488
- 'ide.chat.share.error': 'Could not create a share link. Please try again.',
489
- 'ide.chat.share.usage': 'Usage: /share [role] — create a public link. Roles: {{roles}} (default viewer).',
487
+ 'ide.chat.share.error': 'Tidak dapat membuat pautan kongsi. Sila cuba lagi.',
488
+ 'ide.chat.share.usage': 'Penggunaan: /share [role] — cipta pautan awam. Peranan: {{roles}} (penampil lalai).',
490
489
  'ide.chat.share.notAllowed': 'Mengurus pautan perkongsian memerlukan peranan admin pada projek ini.',
491
490
  'ide.chat.skills.heading': 'Skills',
492
491
  'ide.chat.skills.searchPlaceholder': 'Filter skills…',
@@ -494,9 +493,9 @@ export const ms = {
494
493
  'ide.chat.skills.loadTitle': 'Open in editor and attach as context',
495
494
  'ide.chat.skills.loaded': 'Loaded skill “{{name}}” — opened in the editor and attached as context for your next message.',
496
495
  'ide.chat.skills.loading': 'Loading skills…',
497
- 'ide.chat.skills.error': 'Could not load skills for this project.',
498
- 'ide.chat.skills.empty': 'No skills found in .agents/skills/ for this project.',
499
- 'ide.chat.skills.noMatch': 'No skills match “{{query}}”.',
496
+ 'ide.chat.skills.error': 'Tidak dapat memuatkan kemahiran untuk projek ini.',
497
+ 'ide.chat.skills.empty': 'Tiada kemahiran ditemui dalam .agents/skills/ untuk projek ini.',
498
+ 'ide.chat.skills.noMatch': 'Tiada kemahiran yang sepadan dengan “ {{query}} ”.',
500
499
  'ide.chat.skills.relevant.label': 'Relevant skill',
501
500
  'ide.chat.skills.relevant.dismiss': 'Dismiss suggestion',
502
501
  'ide.chat.thoughtForSecond': 'Thought for 1 second',
@@ -516,56 +515,56 @@ export const ms = {
516
515
  'ide.chat.help.card.modesTitle': 'Modes',
517
516
  'ide.chat.help.card.tipsTitle': 'Tips',
518
517
  'ide.chat.help.card.usageHint': 'Usage: {{usage}} ([…] optional, <…> required)',
519
- 'ide.chat.report.failed': 'Could not submit your report. Please try again.',
520
- 'ide.chat.report.submitted': "Thanks! Your report was submitted to {{productName}}'s team.",
521
- 'ide.chat.report.submittedWithLink': 'Thanks! Your report was submitted — track it on the linked issue.',
522
- 'ide.chat.settings.modelFollowsDefault': 'Follows default model',
518
+ 'ide.chat.report.failed': 'Tidak dapat menghantar laporan anda. Sila cuba lagi.',
519
+ 'ide.chat.report.submitted': 'Terima kasih! Laporan anda telah dihantar kepada pasukan {{productName}}.',
520
+ 'ide.chat.report.submittedWithLink': 'Terima kasih! Laporan anda telah dihantar — jejaki laporan tersebut mengenai isu yang dipautkan.',
521
+ 'ide.chat.settings.modelFollowsDefault': 'Mengikuti model lalai',
523
522
  'ide.chat.settings.modelDefaultFast': 'Fast default',
524
523
  'ide.chat.settings.modelDefaultNamed': 'Default ({{model}})',
525
524
  'ide.chat.settings.effortValue': 'plan: {{plan}} · execute: {{execute}}',
526
525
  'ide.resizeHandle.label': 'Resize panels',
527
526
  'ide.chat.settings.autoCommitEvery': 'Every {{seconds}}s',
528
- 'ide.chat.settings.hooksValue': 'In project settings',
527
+ 'ide.chat.settings.hooksValue': 'Dalam tetapan projek',
529
528
  'ide.chat.skills.new': 'New skill',
530
- 'ide.chat.skills.newTitle': 'Create a new project skill',
531
- 'ide.chat.skills.newPlaceholder': 'New skill name…',
529
+ 'ide.chat.skills.newTitle': 'Cipta kemahiran projek baharu',
530
+ 'ide.chat.skills.newPlaceholder': 'Nama kemahiran baharu…',
532
531
  'ide.chat.skills.create': 'Create',
533
532
  'ide.chat.skills.cancel': 'Cancel',
534
- 'ide.chat.skills.createError': 'Could not create the skill — please try again.',
535
- 'ide.chat.skills.created': 'Created skill “{{name}}” — opened in the editor. Fill in its description and steps.',
536
- 'ide.chat.autoCommit.on': 'Auto-commit on',
533
+ 'ide.chat.skills.createError': 'Tidak dapat mencipta kemahiran — sila cuba lagi.',
534
+ 'ide.chat.skills.created': 'Kemahiran yang dicipta “ {{name}} ” — dibuka dalam editor. Isi penerangan dan langkah-langkahnya.',
535
+ 'ide.chat.autoCommit.on': 'Komit automatik dihidupkan',
537
536
  'ide.chat.mention': 'Reference a file',
538
537
  'ide.chat.slashCommands': 'Slash commands',
539
538
  'ide.chat.skills.loadedPrefix': 'Loaded ',
540
539
  'ide.chat.skills.loadedSuffix': ' skill',
541
540
  'ide.chat.viewProfile': 'View profile',
542
- 'ide.preview.loadFailed': "Preview can't load here",
543
- 'ide.preview.loadFailedHint': 'Try reloading, or open the preview in a new tab.',
541
+ 'ide.preview.loadFailed': 'Pratonton tidak dapat dimuatkan di sini',
542
+ 'ide.preview.loadFailedHint': 'Cuba muat semula atau buka pratonton dalam tab baharu.',
544
543
  'ide.preview.reloadPreview': 'Reload preview',
545
- 'ide.preview.lastWorkingFrame': 'Last working preview',
546
- 'ide.chat.effort.notSupportedForModel': "{{level}} isn't available for {{model}}. Available: {{levels}}",
544
+ 'ide.preview.lastWorkingFrame': 'Pratonton kerja terakhir',
545
+ 'ide.chat.effort.notSupportedForModel': '{{level}} tidak tersedia untuk {{model}}. Tersedia: {{levels}}',
547
546
  'ide.chat.modelSortLabel': 'Sort',
548
- 'ide.chat.modelSortDirection': 'Toggle sort direction',
547
+ 'ide.chat.modelSortDirection': 'Togol arah isihan',
549
548
  'ide.chat.skills.loadedBadge': 'Loaded',
550
549
  'ide.chat.skills.defaultBadge': 'Default',
551
- 'ide.chat.skills.setDefault': 'Load by default',
552
- 'ide.chat.skills.unsetDefault': 'Stop loading by default',
553
- 'ide.chat.skills.matchHint': 'Suggested from keywords in your recent messages',
550
+ 'ide.chat.skills.setDefault': 'Muatkan secara lalai',
551
+ 'ide.chat.skills.unsetDefault': 'Hentikan pemuatan secara lalai',
552
+ 'ide.chat.skills.matchHint': 'Dicadangkan daripada kata kunci dalam mesej terbaru anda',
554
553
  'ide.device.select': 'Device frame',
555
554
  'ide.device.rotate': 'Rotate',
556
555
  'ide.chat.closeOverlay': 'Close',
557
- 'ide.chat.retryCountdown': 'Server error — retrying in {{seconds}}s… (attempt {{attempt}})',
558
- 'ide.preview.blankTitle': 'The preview is blank',
559
- 'ide.preview.blankHint': 'The app loaded but didn’t render anything — it may have an error. Synthase has been notified. You can reload, or open the preview in a new tab.',
560
- 'ide.chat.previewLinkTitle': 'Open {{path}} in the preview',
561
- 'ide.chat.report.diagnosticsNote': 'Your app version, browser, and screen size are attached to help us debug.',
556
+ 'ide.chat.retryCountdown': 'Ralat pelayan — mencuba semula dalam {{seconds}} saat… (percubaan {{attempt}})',
557
+ 'ide.preview.blankTitle': 'Pratonton kosong',
558
+ 'ide.preview.blankHint': 'Aplikasi telah dimuatkan tetapi tidak memaparkan apa-apa — ia mungkin mempunyai ralat. Sinthase telah dimaklumkan. Anda boleh memuatkan semula atau membuka pratonton dalam tab baharu.',
559
+ 'ide.chat.previewLinkTitle': 'Buka {{path}} dalam pratonton',
560
+ 'ide.chat.report.diagnosticsNote': 'Versi aplikasi, pelayar dan saiz skrin anda dilampirkan untuk membantu kami melakukan penyahpepijatan.',
562
561
  'ide.chat.skills.loadedCount': '🧠 Loaded {{count}} skills',
563
- 'ide.chat.skills.waitingForSandbox': 'Waiting for the sandbox to finish starting…',
564
- 'ide.chat.skills.resetDefaults': 'Load all by default',
565
- 'ide.search.excludedDirs': 'Excluded folders (applies to all searches, including the agent)',
566
- 'ide.chat.costStreamingNote': 'Running total — includes the response currently streaming.',
562
+ 'ide.chat.skills.waitingForSandbox': 'Menunggu kotak pasir selesai bermula…',
563
+ 'ide.chat.skills.resetDefaults': 'Muatkan semua secara lalai',
564
+ 'ide.search.excludedDirs': 'Folder yang dikecualikan (terpakai untuk semua carian, termasuk ejen)',
565
+ 'ide.chat.costStreamingNote': 'Jumlah keseluruhan — termasuk respons yang sedang distrim.',
567
566
  'ide.toolCall.packageCount': '{{count}} packages',
568
- 'ide.toolCall.openPackageDoc': 'Open package docs',
567
+ 'ide.toolCall.openPackageDoc': 'Buka dokumen pakej',
569
568
  'ide.chat.fastModeOn': 'Mod pantas dihidupkan — respons lebih pantas pada kadar yang lebih tinggi',
570
569
  'ide.chat.fastModeOff': 'Mod pantas dimatikan',
571
570
  'ide.chat.fastModeEnable': 'Mod pantas — output sehingga 2.5× lebih pantas pada kadar token yang lebih tinggi',
@@ -577,7 +576,7 @@ export const ms = {
577
576
  'ide.chat.settings.effort.label': 'Usaha penaakulan',
578
577
  'ide.chat.timestampsShown': 'Cap masa ditunjukkan.',
579
578
  'ide.chat.timestampsHidden': 'Cap masa disembunyikan.',
580
- 'ide.chat.timestampsUsage': 'Usage: /timestamps [on | off]',
579
+ 'ide.chat.timestampsUsage': 'Penggunaan: /timestamps [on | off]',
581
580
  'ide.tests.testCount': '{{count}} ujian',
582
581
  'ide.tests.run': 'Lari',
583
582
  'ide.tests.runAll': 'Jalankan semua',
@@ -586,6 +585,9 @@ export const ms = {
586
585
  'ide.tests.runGroup': 'Kumpulan larian',
587
586
  'ide.tests.stop': 'Berhenti',
588
587
  'ide.tests.running': 'Berlari…',
588
+ 'ide.tests.runningAgent': '{{agent}} sedang menjalankan ujian…',
589
+ 'ide.tests.runningPlatform': 'Menyemak pelaksanaan…',
590
+ 'ide.tests.runningElsewhere': 'Berjalan dalam tab lain…',
589
591
  'ide.tests.passedCount': '{{count}} lulus',
590
592
  'ide.tests.failedCount': '{{count}} gagal',
591
593
  'ide.tests.statusPassed': 'Lulus',
@@ -599,16 +601,16 @@ export const ms = {
599
601
  'ide.tests.e2eHint': 'Ini bertentangan dengan pratonton langsung, jadi pastikan pratonton dibuka.',
600
602
  'ide.tests.showOutput': 'Tunjukkan output',
601
603
  'ide.tests.hideOutput': 'Sembunyikan output',
602
- 'ide.testsBar.notRun_one': '{{count}} test not run yet',
603
- 'ide.testsBar.notRun_other': '{{count}} tests not run yet',
604
- 'ide.testsBar.counts': '{{passed}} passing, {{failed}} failing, {{skipped}} skipped',
605
- 'ide.testsBar.running': 'Running tests — {{remaining}} to go',
604
+ 'ide.testsBar.notRun_one': 'Ujian {{count}} belum dijalankan lagi',
605
+ 'ide.testsBar.notRun_other': '{{count}} ujian belum dijalankan lagi',
606
+ 'ide.testsBar.counts': '{{passed}} lulus, {{failed}} gagal, {{skipped}} dilangkau',
607
+ 'ide.testsBar.running': 'Menjalankan ujian — {{remaining}} lagi',
606
608
  'ide.testsBar.runningLast': 'Running tests',
607
609
  'ide.testsBar.passing': 'All {{passed}} passing',
608
610
  'ide.testsBar.passingWithSkips': '{{passed}} passing, {{skipped}} skipped',
609
611
  'ide.testsBar.failing': '{{failed}} failing, {{passed}} passing',
610
- 'ide.testsBar.stopped': 'Test run stopped',
611
- 'ide.testsBar.error': 'Test run failed to finish',
612
+ 'ide.testsBar.stopped': 'Larian ujian dihentikan',
613
+ 'ide.testsBar.error': 'Ujian gagal diselesaikan',
612
614
  'ide.testsBar.passedLabel': 'passing',
613
615
  'ide.testsBar.failedLabel': 'failing',
614
616
  'ide.testsBar.skippedLabel': 'skipped',
@@ -616,8 +618,8 @@ export const ms = {
616
618
  'ide.testsBar.currentFile': 'Running {{file}}',
617
619
  'ide.testsBar.open': 'Tests',
618
620
  'ide.testsBar.stop': 'Stop',
619
- 'ide.chat.testsBarShown': 'Tests bar shown.',
620
- 'ide.chat.testsBarHidden': 'Tests bar hidden.',
621
+ 'ide.chat.testsBarShown': 'Bar ujian ditunjukkan.',
622
+ 'ide.chat.testsBarHidden': 'Bar ujian tersembunyi.',
621
623
  'ide.toolCall.command': 'Command',
622
624
  'ide.toolCall.request': 'Request',
623
625
  'ide.toolCall.response': 'Response',
@@ -625,8 +627,8 @@ export const ms = {
625
627
  'ide.work.running': '{{count}} running',
626
628
  'ide.work.failed': '{{count}} failed',
627
629
  'ide.work.finished': '{{count}} done',
628
- 'ide.work.waiting': 'Waiting for your answer',
629
- 'ide.work.stopped': 'Stopped before finishing',
630
+ 'ide.work.waiting': 'Menunggu jawapan anda',
631
+ 'ide.work.stopped': 'Berhenti sebelum tamat',
630
632
  'ide.tests.cancelled': 'Larian terhenti.',
631
633
  'ide.tests.listError': 'Tidak dapat menyenaraikan ujian projek ini.',
632
634
  'ide.tests.runError': 'Ujian tidak dapat dimulakan.',
@@ -656,7 +658,7 @@ export const ms = {
656
658
  'ide.chat.viaDictation.badge': 'Ditentukan oleh suara',
657
659
  'ide.chat.inputLabel': 'Tulis mesej',
658
660
  'ide.chat.messagesLabel': 'Mesej perbualan',
659
- 'ide.chat.backgroundCancelled': '{{count}} background task cancelled',
661
+ 'ide.chat.backgroundCancelled': '{{count}} tugasan latar belakang dibatalkan',
660
662
  'ide.chat.backgroundCancelledElapsed': 'cancelled · {{elapsed}}',
661
663
  'ide.chat.backgroundOutput': '{{count}} characters produced',
662
664
  'ide.work.cancelled': '{{count}} cancelled',
@@ -665,18 +667,18 @@ export const ms = {
665
667
  'ide.chat.context.target': 'Compaction target',
666
668
  'ide.chat.context.window': 'Context window',
667
669
  'ide.chat.context.indicator': '{{tokens}} / {{limit}} tokens · {{target}} ({{percent}}%)',
668
- 'ide.chat.context.targetHelp': 'Compaction is scheduled around this target; progress can continue while the summary is prepared.',
669
- 'ide.chat.context.actual': 'Provider-reported input: {{tokens}} tokens (including cached input).',
670
- 'ide.chat.context.pending': 'Provider usage is pending; current token counts are estimates.',
671
- 'ide.chat.context.estimate': 'Known text estimate: {{tokens}} tokens. Request: {{chars}} characters / {{bytes}} bytes. Shares describe estimated tokens, not billed allocation.',
672
- 'ide.chat.context.unknown': 'Some image, attachment, or unmeasurable content has an unknown token cost and is excluded from estimated shares.',
670
+ 'ide.chat.context.targetHelp': 'Pemadatan dijadualkan sekitar sasaran ini; kemajuan boleh diteruskan sementara ringkasan disediakan.',
671
+ 'ide.chat.context.actual': 'Input yang dilaporkan oleh pembekal: token {{tokens}} (termasuk input yang disimpan dalam cache).',
672
+ 'ide.chat.context.pending': 'Penggunaan pembekal sedang menunggu; kiraan token semasa adalah anggaran.',
673
+ 'ide.chat.context.estimate': 'Anggaran teks yang diketahui: {{tokens}} token. Permintaan: {{chars}} aksara / {{bytes}} bait. Perkongsian menerangkan anggaran token, bukan peruntukan yang dibilkan.',
674
+ 'ide.chat.context.unknown': 'Sesetengah imej, lampiran atau kandungan yang tidak dapat diukur mempunyai kos token yang tidak diketahui dan dikecualikan daripada anggaran perkongsian.',
673
675
  'ide.chat.context.breakdown': 'Request composition',
674
676
  'ide.chat.context.category': 'Category',
675
677
  'ide.chat.context.tokens': 'Est. tokens',
676
678
  'ide.chat.context.share': 'Share',
677
679
  'ide.chat.context.bytes': 'Bytes',
678
- 'ide.chat.context.history': 'Context over time · {{count}} requests',
679
- 'ide.chat.context.chart': 'Input tokens over time; dashed line marks the current target',
680
+ 'ide.chat.context.history': 'Konteks dari semasa ke semasa · {{count}} permintaan',
681
+ 'ide.chat.context.chart': 'Token input dari semasa ke semasa; garis putus-putus menandakan sasaran semasa',
680
682
  'ide.chat.context.tokenUnit': 'tokens',
681
683
  'ide.chat.context.compactions': 'Completed compactions: {{count}}',
682
684
  'ide.chat.context.compaction': '{{at}} · {{before}} → {{after}} characters · {{seconds}}s',
@@ -714,5 +716,8 @@ export const ms = {
714
716
  'ide.chat.context.monthly': 'Elaun bulanan.',
715
717
  'ide.chat.context.daily': 'Elaun harian.',
716
718
  'ide.chat.context.resets': 'Menetapkan semula {{at}} .',
719
+ 'ide.error.noProvider': 'Pembekal ruang kerja IDE tidak dikonfigurasikan. Hubungkan pembekal IDE terlebih dahulu.',
720
+ 'ide.chat.tip.getStarted': 'Petua: taip / untuk melihat setiap arahan, atau @ nama fail untuk memberi {{agentName}} fail untuk digunakan.',
721
+ 'ide.chat.tip.plan': 'Petua: gunakan /plan untuk meminta {{agentName}} membuat kajian dan mencadangkan pelan sebelum ia mengedit sebarang fail.',
717
722
  };
718
723
  //# sourceMappingURL=ms.js.map