@molecule/app-locales-ide 1.10.14 → 1.11.2
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 +16 -9
- package/dist/af.d.ts.map +1 -1
- package/dist/af.js +165 -162
- package/dist/af.js.map +1 -1
- package/dist/am.d.ts.map +1 -1
- package/dist/am.js +168 -165
- package/dist/am.js.map +1 -1
- package/dist/ar.d.ts.map +1 -1
- package/dist/ar.js +93 -82
- package/dist/ar.js.map +1 -1
- package/dist/az.d.ts.map +1 -1
- package/dist/az.js +163 -160
- package/dist/az.js.map +1 -1
- package/dist/be.d.ts.map +1 -1
- package/dist/be.js +167 -160
- package/dist/be.js.map +1 -1
- package/dist/bg.d.ts.map +1 -1
- package/dist/bg.js +82 -79
- package/dist/bg.js.map +1 -1
- package/dist/bn.d.ts.map +1 -1
- package/dist/bn.js +164 -161
- package/dist/bn.js.map +1 -1
- package/dist/bs.d.ts.map +1 -1
- package/dist/bs.js +164 -159
- package/dist/bs.js.map +1 -1
- package/dist/ca.d.ts.map +1 -1
- package/dist/ca.js +166 -161
- package/dist/ca.js.map +1 -1
- package/dist/cs.d.ts.map +1 -1
- package/dist/cs.js +89 -84
- package/dist/cs.js.map +1 -1
- package/dist/cy.d.ts.map +1 -1
- package/dist/cy.js +172 -161
- package/dist/cy.js.map +1 -1
- package/dist/da.d.ts.map +1 -1
- package/dist/da.js +84 -81
- package/dist/da.js.map +1 -1
- package/dist/de.d.ts.map +1 -1
- package/dist/de.js +85 -82
- package/dist/de.js.map +1 -1
- package/dist/el.d.ts.map +1 -1
- package/dist/el.js +89 -86
- package/dist/el.js.map +1 -1
- package/dist/en.d.ts.map +1 -1
- package/dist/en.js +18 -6
- package/dist/en.js.map +1 -1
- package/dist/es.d.ts.map +1 -1
- package/dist/es.js +88 -83
- package/dist/es.js.map +1 -1
- package/dist/et.d.ts.map +1 -1
- package/dist/et.js +86 -83
- package/dist/et.js.map +1 -1
- package/dist/eu.d.ts.map +1 -1
- package/dist/eu.js +165 -162
- package/dist/eu.js.map +1 -1
- package/dist/fa.d.ts.map +1 -1
- package/dist/fa.js +163 -160
- package/dist/fa.js.map +1 -1
- package/dist/fi.d.ts.map +1 -1
- package/dist/fi.js +86 -83
- package/dist/fi.js.map +1 -1
- package/dist/fil.d.ts.map +1 -1
- package/dist/fil.js +164 -161
- package/dist/fil.js.map +1 -1
- package/dist/fr.d.ts.map +1 -1
- package/dist/fr.js +83 -78
- package/dist/fr.js.map +1 -1
- package/dist/ga.d.ts.map +1 -1
- package/dist/ga.js +168 -159
- package/dist/ga.js.map +1 -1
- package/dist/gl.d.ts.map +1 -1
- package/dist/gl.js +164 -161
- package/dist/gl.js.map +1 -1
- package/dist/gu.d.ts.map +1 -1
- package/dist/gu.js +163 -160
- package/dist/gu.js.map +1 -1
- package/dist/ha.d.ts.map +1 -1
- package/dist/ha.js +164 -161
- package/dist/ha.js.map +1 -1
- package/dist/he.d.ts.map +1 -1
- package/dist/he.js +171 -166
- package/dist/he.js.map +1 -1
- package/dist/hi.d.ts.map +1 -1
- package/dist/hi.js +163 -160
- package/dist/hi.js.map +1 -1
- package/dist/hr.d.ts.map +1 -1
- package/dist/hr.js +165 -160
- package/dist/hr.js.map +1 -1
- package/dist/hu.d.ts.map +1 -1
- package/dist/hu.js +82 -79
- package/dist/hu.js.map +1 -1
- package/dist/hy.d.ts.map +1 -1
- package/dist/hy.js +166 -163
- package/dist/hy.js.map +1 -1
- package/dist/id.d.ts.map +1 -1
- package/dist/id.js +89 -86
- package/dist/id.js.map +1 -1
- package/dist/ig.d.ts.map +1 -1
- package/dist/ig.js +165 -162
- package/dist/ig.js.map +1 -1
- package/dist/is.d.ts.map +1 -1
- package/dist/is.js +163 -160
- package/dist/is.js.map +1 -1
- package/dist/it.d.ts.map +1 -1
- package/dist/it.js +91 -86
- package/dist/it.js.map +1 -1
- package/dist/ja.d.ts.map +1 -1
- package/dist/ja.js +85 -82
- package/dist/ja.js.map +1 -1
- package/dist/ka.d.ts.map +1 -1
- package/dist/ka.js +165 -162
- package/dist/ka.js.map +1 -1
- package/dist/kk.d.ts.map +1 -1
- package/dist/kk.js +162 -159
- package/dist/kk.js.map +1 -1
- package/dist/km.d.ts.map +1 -1
- package/dist/km.js +165 -162
- package/dist/km.js.map +1 -1
- package/dist/kn.d.ts.map +1 -1
- package/dist/kn.js +163 -160
- package/dist/kn.js.map +1 -1
- package/dist/ko.d.ts.map +1 -1
- package/dist/ko.js +97 -94
- package/dist/ko.js.map +1 -1
- package/dist/ky.d.ts.map +1 -1
- package/dist/ky.js +163 -160
- package/dist/ky.js.map +1 -1
- package/dist/lo.d.ts.map +1 -1
- package/dist/lo.js +162 -159
- package/dist/lo.js.map +1 -1
- package/dist/lt.d.ts.map +1 -1
- package/dist/lt.js +82 -77
- package/dist/lt.js.map +1 -1
- package/dist/lv.d.ts.map +1 -1
- package/dist/lv.js +84 -79
- package/dist/lv.js.map +1 -1
- package/dist/mk.d.ts.map +1 -1
- package/dist/mk.js +163 -160
- package/dist/mk.js.map +1 -1
- package/dist/ml.d.ts.map +1 -1
- package/dist/ml.js +161 -158
- package/dist/ml.js.map +1 -1
- package/dist/mn.d.ts.map +1 -1
- package/dist/mn.js +163 -160
- package/dist/mn.js.map +1 -1
- package/dist/mr.d.ts.map +1 -1
- package/dist/mr.js +161 -158
- package/dist/mr.js.map +1 -1
- package/dist/ms.d.ts.map +1 -1
- package/dist/ms.js +164 -161
- package/dist/ms.js.map +1 -1
- package/dist/mt.d.ts.map +1 -1
- package/dist/mt.js +169 -160
- package/dist/mt.js.map +1 -1
- package/dist/my.d.ts.map +1 -1
- package/dist/my.js +161 -158
- package/dist/my.js.map +1 -1
- package/dist/nb.d.ts.map +1 -1
- package/dist/nb.js +84 -81
- package/dist/nb.js.map +1 -1
- package/dist/ne.d.ts.map +1 -1
- package/dist/ne.js +164 -161
- package/dist/ne.js.map +1 -1
- package/dist/nl.d.ts.map +1 -1
- package/dist/nl.js +85 -82
- package/dist/nl.js.map +1 -1
- package/dist/pa.d.ts.map +1 -1
- package/dist/pa.js +162 -159
- package/dist/pa.js.map +1 -1
- package/dist/pl.d.ts.map +1 -1
- package/dist/pl.js +89 -82
- package/dist/pl.js.map +1 -1
- package/dist/pt.d.ts.map +1 -1
- package/dist/pt.js +99 -94
- package/dist/pt.js.map +1 -1
- package/dist/ro.d.ts.map +1 -1
- package/dist/ro.js +89 -84
- package/dist/ro.js.map +1 -1
- package/dist/ru.d.ts.map +1 -1
- package/dist/ru.js +86 -79
- package/dist/ru.js.map +1 -1
- package/dist/si.d.ts.map +1 -1
- package/dist/si.js +165 -162
- package/dist/si.js.map +1 -1
- package/dist/sk.d.ts.map +1 -1
- package/dist/sk.js +86 -81
- package/dist/sk.js.map +1 -1
- package/dist/sl.d.ts.map +1 -1
- package/dist/sl.js +87 -80
- package/dist/sl.js.map +1 -1
- package/dist/sq.d.ts.map +1 -1
- package/dist/sq.js +162 -159
- package/dist/sq.js.map +1 -1
- package/dist/sr.d.ts.map +1 -1
- package/dist/sr.js +165 -160
- package/dist/sr.js.map +1 -1
- package/dist/sv.d.ts.map +1 -1
- package/dist/sv.js +89 -86
- package/dist/sv.js.map +1 -1
- package/dist/sw.d.ts.map +1 -1
- package/dist/sw.js +165 -162
- package/dist/sw.js.map +1 -1
- package/dist/ta.d.ts.map +1 -1
- package/dist/ta.js +161 -158
- package/dist/ta.js.map +1 -1
- package/dist/te.d.ts.map +1 -1
- package/dist/te.js +162 -159
- package/dist/te.js.map +1 -1
- package/dist/th.d.ts.map +1 -1
- package/dist/th.js +160 -157
- package/dist/th.js.map +1 -1
- package/dist/tr.d.ts.map +1 -1
- package/dist/tr.js +82 -79
- package/dist/tr.js.map +1 -1
- package/dist/types.d.ts +8 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/uk.d.ts.map +1 -1
- package/dist/uk.js +86 -79
- package/dist/uk.js.map +1 -1
- package/dist/ur.d.ts.map +1 -1
- package/dist/ur.js +164 -161
- package/dist/ur.js.map +1 -1
- package/dist/uz.d.ts.map +1 -1
- package/dist/uz.js +162 -159
- package/dist/uz.js.map +1 -1
- package/dist/vi.d.ts.map +1 -1
- package/dist/vi.js +164 -161
- package/dist/vi.js.map +1 -1
- package/dist/yo.d.ts.map +1 -1
- package/dist/yo.js +166 -163
- package/dist/yo.js.map +1 -1
- package/dist/zh-TW.d.ts.map +1 -1
- package/dist/zh-TW.js +82 -79
- package/dist/zh-TW.js.map +1 -1
- package/dist/zh.d.ts.map +1 -1
- package/dist/zh.js +83 -80
- package/dist/zh.js.map +1 -1
- package/dist/zu.d.ts.map +1 -1
- package/dist/zu.js +167 -164
- package/dist/zu.js.map +1 -1
- package/package.json +1 -1
package/dist/vi.js
CHANGED
|
@@ -5,12 +5,12 @@ export const vi = {
|
|
|
5
5
|
'ide.chat.commitFileCount_one': 'Cam kết tệp {{count}}',
|
|
6
6
|
'ide.chat.commitFileCount_other': 'Cam kết {{count}} tệp',
|
|
7
7
|
'ide.chat.autoCommit.countedBadge': '{{commit}} trong {{countdown}}',
|
|
8
|
-
'ide.chat.teamMessagesUnavailable': '
|
|
9
|
-
'ide.chat.teamOnly.badge': '
|
|
10
|
-
'ide.chat.tip.viewerTeamOnly': '
|
|
11
|
-
'ide.chat.viewerReadOnly':
|
|
12
|
-
'ide.chat.viewerReadOnlyCommand': '
|
|
13
|
-
'ide.chat.viewerReadOnlyNote': '
|
|
8
|
+
'ide.chat.teamMessagesUnavailable': 'Tính năng nhắn tin nhóm không khả dụng trong không gian làm việc này.',
|
|
9
|
+
'ide.chat.teamOnly.badge': 'Chỉ hiển thị cho nhóm của bạn; {{agentName}} sẽ bỏ qua',
|
|
10
|
+
'ide.chat.tip.viewerTeamOnly': 'Chỉ có quyền truy cập xem — đọc và gửi tin nhắn cho nhóm qua /teamsay (hoặc chỉ /t). Biểu tượng màu vàng này đánh dấu các tin nhắn chỉ dành cho nhóm ({{agentName}} sẽ bỏ qua chúng). Việc chạy trợ lý và thay đổi mô hình hoặc cài đặt cần quyền truy cập chỉnh sửa.',
|
|
11
|
+
'ide.chat.viewerReadOnly': 'Bạn chỉ có quyền truy cập xem, vì vậy bạn không thể chạy trợ lý ở đây. Bạn vẫn có thể đọc và sử dụng /teamsay để nhắn tin cho nhóm.',
|
|
12
|
+
'ide.chat.viewerReadOnlyCommand': 'Bạn chỉ có quyền truy cập xem, do đó lệnh này không khả dụng. Vui lòng yêu cầu người biên tập thực hiện thay đổi.',
|
|
13
|
+
'ide.chat.viewerReadOnlyNote': 'Chỉ được phép xem — đọc và gửi thông tin cho nhóm qua lệnh /teamsay (hoặc chỉ cần /t). Việc chạy trợ lý ảo và thay đổi mô hình hoặc cài đặt cần quyền chỉnh sửa.',
|
|
14
14
|
'ide.chat.viewPlans': 'Xem các gói',
|
|
15
15
|
'ide.chat.fileCount': '{{count}} tệp',
|
|
16
16
|
'common.cancel': 'Hủy',
|
|
@@ -23,8 +23,7 @@ export const vi = {
|
|
|
23
23
|
'ide.chat.continueButton': 'Tiếp tục',
|
|
24
24
|
'upgrade.viewPlans': 'Nâng cấp',
|
|
25
25
|
'upgrade.signUp': 'Đăng ký',
|
|
26
|
-
'ide.chat.modelUpgradeRequired': '{{model}}
|
|
27
|
-
'ide.chat.autoFixCountdown': 'Tiếp tục',
|
|
26
|
+
'ide.chat.modelUpgradeRequired': '{{model}} chỉ có trên phiên bản Pro. Nâng cấp để truy cập tất cả các mẫu.',
|
|
28
27
|
'ide.chat.autoFixPause': 'Tạm dừng',
|
|
29
28
|
'ide.chat.autoFixCancel': 'Hủy',
|
|
30
29
|
'ide.chat.soundAll': 'Tất cả',
|
|
@@ -44,29 +43,29 @@ export const vi = {
|
|
|
44
43
|
'ide.search.searching': 'Đang tìm…',
|
|
45
44
|
'ide.sidebar.search': 'Tìm kiếm',
|
|
46
45
|
'ide.toolCall.noMatches': 'Không có kết quả khớp',
|
|
47
|
-
'ide.chat.askUserMultiHint': '
|
|
46
|
+
'ide.chat.askUserMultiHint': 'Bạn có thể chọn nhiều hơn một.',
|
|
48
47
|
'ide.chat.askUserSelectedCount': '{{count}} selected',
|
|
49
48
|
'ide.chat.askUserMultiConfirm': 'Confirm choice',
|
|
50
49
|
'ide.chat.askUserPreview': 'Preview',
|
|
51
50
|
'ide.chat.taskListTitle': 'Working plan',
|
|
52
51
|
'ide.chat.taskListProgress': '{{done}} of {{total}} done',
|
|
53
|
-
'ide.chat.planReview.badge': '
|
|
52
|
+
'ide.chat.planReview.badge': 'Kế hoạch đã sẵn sàng để xem xét.',
|
|
54
53
|
'ide.chat.planReview.fallbackTitle': 'Implementation plan',
|
|
55
54
|
'ide.chat.planReview.steps': '{{count}} steps',
|
|
56
55
|
'ide.chat.planReview.openPlan': 'Open plan',
|
|
57
56
|
'ide.chat.planReview.more': '+ {{count}} more steps',
|
|
58
|
-
'ide.chat.backgroundRunning': '{{count}}
|
|
59
|
-
'ide.chat.backgroundFailed': '{{count}}
|
|
60
|
-
'ide.chat.backgroundDone': '{{count}}
|
|
57
|
+
'ide.chat.backgroundRunning': '{{count}} tác vụ đang chạy ngầm',
|
|
58
|
+
'ide.chat.backgroundFailed': '{{count}} tác vụ nền đã thất bại',
|
|
59
|
+
'ide.chat.backgroundDone': '{{count}} tác vụ nền đã hoàn thành',
|
|
61
60
|
'ide.chat.backgroundElapsed': 'running · {{elapsed}}',
|
|
62
61
|
'ide.chat.backgroundExit': 'exit {{code}} · {{elapsed}}',
|
|
63
62
|
'ide.chat.backgroundOk': 'done · {{elapsed}}',
|
|
64
63
|
'ide.chat.subagent.build': 'Build subagent',
|
|
65
|
-
'ide.chat.subagent.inBackground': '
|
|
64
|
+
'ide.chat.subagent.inBackground': 'đang chạy ngầm',
|
|
66
65
|
'ide.chat.subagent.wroteFiles': '{{count}} files changed',
|
|
67
66
|
'ide.toolCall.stillRunning': 'Still running',
|
|
68
|
-
'ide.toolCall.startedInBackground': '
|
|
69
|
-
'ide.toolCall.onlySession': '
|
|
67
|
+
'ide.toolCall.startedInBackground': 'Đang chạy ngầm',
|
|
68
|
+
'ide.toolCall.onlySession': 'Chỉ có cái này thôi',
|
|
70
69
|
'ide.toolCall.sessionCount': '{{count}} other sessions',
|
|
71
70
|
'ide.toolCall.sentTo': 'Sent to {{to}}',
|
|
72
71
|
'ide.chat.subagent.judge': 'Acceptance judge',
|
|
@@ -74,7 +73,7 @@ export const vi = {
|
|
|
74
73
|
'ide.chat.subagent.working': 'working…',
|
|
75
74
|
'ide.chat.subagent.verdictPass': 'PASS',
|
|
76
75
|
'ide.chat.subagent.verdictFail': 'FAIL',
|
|
77
|
-
'ide.chat.subagent.showReport': '
|
|
76
|
+
'ide.chat.subagent.showReport': 'Xem toàn bộ báo cáo',
|
|
78
77
|
'ide.chat.subagent.hideReport': 'Show less',
|
|
79
78
|
'ide.chat.askUserSubmit': 'Gửi',
|
|
80
79
|
'ide.toolCall.statusRunning': 'Đang chạy…',
|
|
@@ -98,7 +97,7 @@ export const vi = {
|
|
|
98
97
|
'ide.chat.thoughtBriefly': 'Suy nghĩ ngắn gọn',
|
|
99
98
|
'ide.chat.thinking': 'Suy nghĩ',
|
|
100
99
|
'ide.chat.verificationPassed': 'Đã kiểm tra thành công.',
|
|
101
|
-
'ide.chat.renderCheckUnavailable': '
|
|
100
|
+
'ide.chat.renderCheckUnavailable': 'Kiểm tra hiển thị không khả dụng',
|
|
102
101
|
'ide.chat.typeErrorCount': '1 lỗi kiểu',
|
|
103
102
|
'ide.chat.lintErrorCount': '1 lỗi lint',
|
|
104
103
|
'ide.chat.lintWarningCount': '1 cảnh báo',
|
|
@@ -119,30 +118,28 @@ export const vi = {
|
|
|
119
118
|
'ide.chat.fileTooLarge': 'Tệp tin quá lớn. Kích thước tối đa là {{maxSize}} MB.',
|
|
120
119
|
'ide.chat.modelSet': 'Mô hình trò chuyện được thiết lập thành {{name}}',
|
|
121
120
|
'ide.chat.compacting': 'Tóm gọn cuộc trò chuyện...',
|
|
122
|
-
'ide.chat.compacted': 'Mức độ sử dụng ngữ cảnh thấp — không cần nén dữ liệu.',
|
|
123
121
|
'ide.chat.compactError': 'Không thể tóm gọn cuộc trò chuyện.',
|
|
124
122
|
'ide.chat.switchedToPlan': 'Đã chuyển sang chế độ lập kế hoạch',
|
|
125
123
|
'ide.chat.switchedToExecute': 'Đã chuyển sang chế độ thực thi',
|
|
126
124
|
'ide.chat.costError': 'Không thể lấy dữ liệu sử dụng.',
|
|
127
|
-
'ide.chat.usageAllowanceTodayLine':
|
|
128
|
-
'ide.chat.usageAllowanceUsedUpLine':
|
|
129
|
-
'ide.chat.usageAllowanceMonthlyLine': '~{{percent}}%
|
|
130
|
-
'ide.chat.usageAllowanceUsedUpMonthlyLine': '
|
|
125
|
+
'ide.chat.usageAllowanceTodayLine': '~ {{percent}} % lượng AI được phép sử dụng hôm nay.',
|
|
126
|
+
'ide.chat.usageAllowanceUsedUpLine': 'Lượng AI cho phép hôm nay đã hết — sẽ được làm mới {{when}}.',
|
|
127
|
+
'ide.chat.usageAllowanceMonthlyLine': '~ {{percent}} % lượng AI được sử dụng trong tháng này.',
|
|
128
|
+
'ide.chat.usageAllowanceUsedUpMonthlyLine': 'Lượng AI được phép sử dụng trong tháng này đã hết — sẽ tự động làm mới {{when}}.',
|
|
131
129
|
'ide.chat.resetSoon': 'soon',
|
|
132
|
-
'ide.chat.resetUnderHour': '
|
|
130
|
+
'ide.chat.resetUnderHour': 'trong vòng chưa đầy một giờ',
|
|
133
131
|
'ide.chat.resetTomorrow': 'tomorrow',
|
|
134
|
-
'ide.chat.resetInHours': '
|
|
135
|
-
'ide.chat.resetInDays': '
|
|
132
|
+
'ide.chat.resetInHours': 'trong khoảng {{hours}} giờ',
|
|
133
|
+
'ide.chat.resetInDays': 'trong khoảng {{days}} ngày',
|
|
136
134
|
'ide.chat.models.colUsageRate': 'Usage rate',
|
|
137
|
-
'ide.chat.models.usageRateHint': '
|
|
135
|
+
'ide.chat.models.usageRateHint': 'Mô hình này sử dụng dung lượng AI của bạn nhanh như thế nào so với mô hình tiết kiệm nhất.',
|
|
138
136
|
'ide.chat.models.usageRateValue': '×{{rate}} usage',
|
|
139
137
|
'ide.chat.models.usageRateYourKey': 'your key',
|
|
140
|
-
'ide.chat.models.usageRateYourKeyHint': '
|
|
138
|
+
'ide.chat.models.usageRateYourKeyHint': 'Thanh toán được thực hiện bằng mã nhà cung cấp của riêng bạn, không phải theo gói cước của bạn.',
|
|
141
139
|
'ide.chat.models.peakNow': 'cao điểm ×{{multiplier}} lúc này',
|
|
142
140
|
'ide.chat.models.peakLater': '×{{multiplier}} vào giờ cao điểm',
|
|
143
141
|
'ide.chat.models.peakHint': 'Mô hình này có giá ×{{multiplier}} trong khoảng {{windows}}. Thời gian còn lại trong ngày áp dụng mức giá thông thường.',
|
|
144
142
|
'ide.chat.undoNoChanges': 'Không có thay đổi nào cần hoàn tác trong tệp tin.',
|
|
145
|
-
'ide.chat.undoComplete': 'Không thể hoàn tác các thay đổi.',
|
|
146
143
|
'ide.chat.commitNoChanges': 'Không có thay đổi nào cần lưu lại.',
|
|
147
144
|
'ide.chat.commitError': 'Không thể lưu các thay đổi.',
|
|
148
145
|
'ide.chat.autoFixEnabled': 'Đã bật tính năng tự động sửa lỗi.',
|
|
@@ -151,12 +148,11 @@ export const vi = {
|
|
|
151
148
|
'ide.chat.autoApproveEnabled': 'Tính năng tự động phê duyệt đã được bật — các lệnh có tính phá hủy sẽ chạy mà không cần hỏi. Cơ chế bảo vệ chống rò rỉ dữ liệu vẫn sẽ hỏi. Tắt bằng lệnh /autoapprove.',
|
|
152
149
|
'ide.chat.autoApproveDisabled': 'Tính năng tự động phê duyệt đã bị tắt — các lệnh có tính phá hủy sẽ hỏi trước khi chạy.',
|
|
153
150
|
'ide.chat.autoApproveError': 'Không thể cập nhật cài đặt tự động phê duyệt.',
|
|
154
|
-
'ide.chat.modelUsage': 'Cách sử dụng: /model<model-name> (ví dụ {{examples}})',
|
|
151
|
+
'ide.chat.modelUsage': 'Cách sử dụng: /model <model-name> (ví dụ {{examples}})',
|
|
155
152
|
'ide.chat.maxLoopsReached': 'Đã đạt giới hạn số vòng lặp tối đa.',
|
|
156
153
|
'ide.chat.maxLoopsError': 'Không thể cập nhật số lần lặp tối đa của công cụ.',
|
|
157
154
|
'ide.chat.dropFilesHere': 'Kéo thả tập tin vào đây',
|
|
158
155
|
'ide.chat.autoFixPaused': 'Tự động sửa lỗi tạm dừng',
|
|
159
|
-
'ide.chat.version': '{{productName}} v0.1.0',
|
|
160
156
|
'ide.chat.selectModel': 'Chọn mẫu',
|
|
161
157
|
'ide.chat.currentBadge': 'hiện hành',
|
|
162
158
|
'ide.chat.proRequired': 'Chuyên nghiệp',
|
|
@@ -192,7 +188,6 @@ export const vi = {
|
|
|
192
188
|
'ide.search.replacePlaceholder': 'Thay thế',
|
|
193
189
|
'ide.search.confirmReplaceAll': 'Nhấp chuột lại để xác nhận',
|
|
194
190
|
'ide.search.replaceAll': 'Thay thế tất cả',
|
|
195
|
-
'ide.search.replaceConfirmation': 'Hộp diêm',
|
|
196
191
|
'ide.search.wholeWord': 'Ghép toàn bộ từ',
|
|
197
192
|
'ide.search.regex': 'Sử dụng biểu thức chính quy',
|
|
198
193
|
'ide.search.toggleFilters': 'Bật/tắt bộ lọc',
|
|
@@ -215,7 +210,7 @@ export const vi = {
|
|
|
215
210
|
'ide.toolCall.statusPermissionDenied': 'Quyền truy cập bị từ chối',
|
|
216
211
|
'ide.toolCall.statusServerError': 'Lỗi máy chủ',
|
|
217
212
|
'ide.chat.placeholder': 'Gửi tin nhắn...',
|
|
218
|
-
'ide.chat.placeholderViewer': '
|
|
213
|
+
'ide.chat.placeholderViewer': 'Gửi tin nhắn cho nhóm của bạn',
|
|
219
214
|
'ide.chat.emptyState': 'Hãy mô tả những gì bạn muốn xây dựng...',
|
|
220
215
|
'ide.chat.molecule': 'Phân tử',
|
|
221
216
|
'ide.chat.automatic': 'Sent automatically',
|
|
@@ -243,7 +238,7 @@ export const vi = {
|
|
|
243
238
|
'ide.chat.soundEvent.loop_limit_reached': 'Đã đạt đến giới hạn vòng lặp',
|
|
244
239
|
'ide.chat.soundEvent.verification_result': 'Kết quả xác minh',
|
|
245
240
|
'ide.chat.soundEvent.preview_error': 'Lỗi xem trước',
|
|
246
|
-
'ide.chat.soundEventDesc.message': '
|
|
241
|
+
'ide.chat.soundEventDesc.message': 'Một đồng đội đã đăng một ghi chú chỉ dành cho cả nhóm.',
|
|
247
242
|
'ide.chat.soundEventDesc.done': '{{agentName}} đã hoàn thành phản hồi',
|
|
248
243
|
'ide.chat.soundEventDesc.error': 'Đã xảy ra lỗi trong quá trình phản hồi.',
|
|
249
244
|
'ide.chat.soundEventDesc.tool_result': 'Một lệnh gọi công cụ (đọc tệp, lệnh, v.v.) đã hoàn tất.',
|
|
@@ -253,7 +248,6 @@ export const vi = {
|
|
|
253
248
|
'ide.chat.soundEventDesc.loop_limit_reached': 'Đã đạt đến giới hạn số lần lặp tối đa của công cụ.',
|
|
254
249
|
'ide.chat.soundEventDesc.verification_result': 'Quá trình kiểm tra cú pháp hoặc kiểu dữ liệu đã hoàn tất.',
|
|
255
250
|
'ide.chat.soundEventDesc.preview_error': 'Bản xem trước trực tiếp gặp lỗi.',
|
|
256
|
-
'ide.chat.voice': 'Tiếng nói',
|
|
257
251
|
'ide.chat.voiceUnavailable': 'Tính năng đọc chính tả không khả dụng trên trình duyệt này.',
|
|
258
252
|
'ide.chat.voiceMicBlocked': 'Quyền truy cập micrô đã bị chặn.',
|
|
259
253
|
'ide.chat.voicePreparing': 'Đang chuẩn bị đọc chính tả — lần đầu có thể mất một lúc.',
|
|
@@ -326,12 +320,12 @@ export const vi = {
|
|
|
326
320
|
'ide.chat.activity.switching': 'Switching mode',
|
|
327
321
|
'ide.chat.activity.thinking': 'Thinking',
|
|
328
322
|
'ide.chat.activity.writing': 'Writing',
|
|
329
|
-
'ide.chat.activity.writingPlan': '
|
|
323
|
+
'ide.chat.activity.writingPlan': 'Lập kế hoạch',
|
|
330
324
|
'ide.activity.defaultSummary': '{{type}} captured',
|
|
331
|
-
'ide.chat.askUserPlaceholderEmpty': '
|
|
332
|
-
'ide.chat.awaitingSandbox': '
|
|
333
|
-
'ide.chat.compactNotNeeded': '
|
|
334
|
-
'ide.chat.phaseBuilding': '🔨
|
|
325
|
+
'ide.chat.askUserPlaceholderEmpty': 'Hãy nhập câu trả lời của bạn…',
|
|
326
|
+
'ide.chat.awaitingSandbox': 'Đang chờ môi trường phát triển khởi tạo xong…',
|
|
327
|
+
'ide.chat.compactNotNeeded': 'Mức độ sử dụng ngữ cảnh thấp — không cần nén dữ liệu.',
|
|
328
|
+
'ide.chat.phaseBuilding': '🔨 Xây dựng ứng dụng của bạn',
|
|
335
329
|
'ide.chat.phasePlanning': '📝 Plan mode',
|
|
336
330
|
'ide.chat.autoFixResume': 'Resume',
|
|
337
331
|
'ide.chat.openSettings': 'Settings',
|
|
@@ -339,24 +333,22 @@ export const vi = {
|
|
|
339
333
|
'ide.chat.tip.getStarted': 'Mẹo: gõ / để xem tất cả các lệnh, hoặc @ tên tệp để hiển thị thông tin chi tiết.{{agentName}} một tập tin để làm việc.',
|
|
340
334
|
'ide.chat.tip.mention': 'Mẹo: gõ @filename để đính kèm tệp dự án làm ngữ cảnh —{{agentName}} Đọc trực tiếp.',
|
|
341
335
|
'ide.chat.tip.slash': 'Mẹo: gõ / để xem tất cả các lệnh (commit, diff, model, và nhiều lệnh khác).',
|
|
342
|
-
'ide.chat.tip.plan': 'Mẹo: sử dụng /plan để có{{agentName}} Hãy nghiên cứu và đề xuất kế hoạch trước khi chỉnh sửa bất kỳ tập tin nào.',
|
|
343
336
|
'ide.chat.tip.undo': 'Mẹo: Sử dụng lệnh /undo để hoàn tác ngay lập tức các thay đổi trong tệp của lượt chơi AI cuối cùng nếu nó diễn ra không như ý muốn.',
|
|
344
337
|
'ide.chat.tip.compact': 'Mẹo: Cuộc trò chuyện dài? /compact sẽ thu gọn ngữ cảnh để bạn có thêm không gian làm việc.',
|
|
345
|
-
'ide.chat.tip.commit': 'Mẹo: Sử dụng lệnh `/commit` để lưu các thay đổi của bạn dưới dạng một commit Git mà bạn có thể quay lại bất cứ lúc nào.',
|
|
346
338
|
'ide.chat.tip.report': 'Mẹo: Có vấn đề gì không ổn? Lệnh /report sẽ gửi báo cáo lỗi hoặc phản hồi đến nhóm kèm theo đoạn chat gần đây nhất của bạn.',
|
|
347
|
-
'ide.chat.undoError': '
|
|
348
|
-
'ide.chat.autoCommit.badge': '
|
|
349
|
-
'ide.chat.autoCommit.cancel': '
|
|
350
|
-
'ide.chat.autoCommit.cancelled': '
|
|
351
|
-
'ide.chat.autoCommit.enabled': '
|
|
339
|
+
'ide.chat.undoError': 'Không thể hoàn tác các thay đổi.',
|
|
340
|
+
'ide.chat.autoCommit.badge': 'Tự động xác nhận trong {{countdown}}',
|
|
341
|
+
'ide.chat.autoCommit.cancel': 'Hủy tự động xác nhận',
|
|
342
|
+
'ide.chat.autoCommit.cancelled': 'Lệnh tự động xác nhận đã bị hủy.',
|
|
343
|
+
'ide.chat.autoCommit.enabled': 'Tự động commit sau: commit {{seconds}} giây kể từ lần thay đổi tệp cuối cùng.\nĐặt thành 0 để tắt tính năng tự động lưu.',
|
|
352
344
|
'ide.chat.autoCommit.usage': 'Usage: /autocommit <seconds> — auto-commit that many seconds after the last file change. /autocommit 0 cancels.',
|
|
353
|
-
'ide.chat.effort.error': '
|
|
354
|
-
'ide.chat.effort.fixedForModel': '
|
|
355
|
-
'ide.chat.effort.header': '
|
|
356
|
-
'ide.chat.effort.modeFixed': ' {{mode}} ({{model}}):
|
|
345
|
+
'ide.chat.effort.error': 'Không thể cập nhật nỗ lực suy luận.',
|
|
346
|
+
'ide.chat.effort.fixedForModel': 'Nỗ lực suy luận được cố định trên {{model}} ({{mode}} mode) — không có gì để thiết lập.',
|
|
347
|
+
'ide.chat.effort.header': 'Mức độ nỗ lực suy luận cho mỗi phương thức:',
|
|
348
|
+
'ide.chat.effort.modeFixed': ' {{mode}} ({{model}}): cố định — mô hình này có một chế độ suy luận',
|
|
357
349
|
'ide.chat.effort.modeLine': ' {{mode}} ({{model}}): {{current}} — available: {{levels}}',
|
|
358
|
-
'ide.chat.effort.setMode': '
|
|
359
|
-
'ide.chat.setting.effort': '
|
|
350
|
+
'ide.chat.effort.setMode': 'Nỗ lực suy luận cho {{mode}} được đặt thành {{level}} ({{model}}).',
|
|
351
|
+
'ide.chat.setting.effort': 'Nỗ lực suy luận cho {{mode}} được đặt thành {{level}}.',
|
|
360
352
|
'ide.chat.settings.effortFixed': 'fixed',
|
|
361
353
|
'ide.chat.effort.usage': 'Usage: /effort <level> (current mode), /effort --plan|--execute <level>, /effort ? for status.',
|
|
362
354
|
'ide.chat.models.colContext': 'Context',
|
|
@@ -367,93 +359,93 @@ export const vi = {
|
|
|
367
359
|
'ide.chat.models.freeYes': '✓ Free',
|
|
368
360
|
'ide.chat.models.sortBy': 'Sort by {{column}}',
|
|
369
361
|
'ide.chat.modelsLoading': 'Loading models…',
|
|
370
|
-
'ide.chat.modelsNone': '
|
|
362
|
+
'ide.chat.modelsNone': 'Hiện chưa có mô hình nào khả dụng — hãy yêu cầu quản trị viên kết nối bạn với nhà cung cấp AI.',
|
|
371
363
|
'ide.chat.modelInUse': 'Now using {{model}}',
|
|
372
364
|
'ide.chat.cardBy': '{{text}} — {{name}}',
|
|
373
|
-
'ide.chat.modelRemoved': '
|
|
374
|
-
'ide.chat.modelRemovedNoFallback': '
|
|
365
|
+
'ide.chat.modelRemoved': 'Mẫu bạn đã chọn " {{removed}} " hiện không còn khả dụng. Đã chuyển sang " {{fallback}} ". Vui lòng nhập /model để chọn mẫu khác.',
|
|
366
|
+
'ide.chat.modelRemovedNoFallback': 'Mô hình bạn đã chọn " {{removed}} " hiện không còn khả dụng và không có mô hình thay thế nào được liên kết trên máy chủ. Vui lòng yêu cầu quản trị viên kết nối với nhà cung cấp AI.',
|
|
375
367
|
'ide.chat.olderModelsCollapse': 'Older models ⌃ ({{count}})',
|
|
376
368
|
'ide.chat.olderModelsExpand': 'Older models ⌄ ({{count}})',
|
|
377
|
-
'ide.chat.selectExecuteModel': '
|
|
378
|
-
'ide.chat.selectPlanModel': '
|
|
379
|
-
'ide.chat.executeModelSet': '
|
|
380
|
-
'ide.chat.planModelSet': '
|
|
381
|
-
'ide.chat.selectCommitModel': '
|
|
382
|
-
'ide.chat.selectCompactModel': '
|
|
383
|
-
'ide.chat.commitModelSet': '
|
|
384
|
-
'ide.chat.compactModelSet': '
|
|
369
|
+
'ide.chat.selectExecuteModel': 'Chọn chế độ thực thi',
|
|
370
|
+
'ide.chat.selectPlanModel': 'Chọn mô hình dạng phẳng',
|
|
371
|
+
'ide.chat.executeModelSet': 'Chế độ thực thi được đặt thành {{name}}',
|
|
372
|
+
'ide.chat.planModelSet': 'Chế độ thiết kế mặt bằng được đặt thành {{name}}',
|
|
373
|
+
'ide.chat.selectCommitModel': 'Chọn mô hình thông báo cam kết',
|
|
374
|
+
'ide.chat.selectCompactModel': 'Chọn mô hình nén',
|
|
375
|
+
'ide.chat.commitModelSet': 'Mô hình thông báo cam kết được đặt thành {{name}}',
|
|
376
|
+
'ide.chat.compactModelSet': 'Mô hình nén được đặt thành {{name}}',
|
|
385
377
|
'ide.chat.modelModeLabel': 'Mode',
|
|
386
378
|
'ide.chat.modelMode.default': 'Default',
|
|
387
379
|
'ide.chat.modelMode.commit': 'Commit messages',
|
|
388
380
|
'ide.chat.modelMode.compact': 'Compaction',
|
|
389
381
|
'ide.chat.modelModeOption': '{{mode}} · {{model}}',
|
|
390
|
-
'ide.chat.manageCustomModels': '
|
|
391
|
-
'ide.chat.freeInPlan': '
|
|
392
|
-
'ide.chat.freeInExecute': '
|
|
393
|
-
'ide.chat.freeInCommit': '
|
|
394
|
-
'ide.chat.modeOnlyPlan': '
|
|
395
|
-
'ide.chat.modeOnlyExecute': '
|
|
396
|
-
'ide.chat.modeOnlyCommit': '
|
|
382
|
+
'ide.chat.manageCustomModels': 'Thêm hoặc quản lý các mô hình của riêng bạn…',
|
|
383
|
+
'ide.chat.freeInPlan': 'miễn phí trong gói',
|
|
384
|
+
'ide.chat.freeInExecute': 'giải phóng trong quá trình thực thi',
|
|
385
|
+
'ide.chat.freeInCommit': 'miễn phí trong cam kết',
|
|
386
|
+
'ide.chat.modeOnlyPlan': 'Trên gói miễn phí, mô hình này được sử dụng ở chế độ kế hoạch.',
|
|
387
|
+
'ide.chat.modeOnlyExecute': 'Trên gói miễn phí, mô hình này được sử dụng ở chế độ thực thi.',
|
|
388
|
+
'ide.chat.modeOnlyCommit': 'Ở gói miễn phí, mô hình này được sử dụng cho các thông báo cam kết và nén dữ liệu.',
|
|
397
389
|
'ide.chat.streamingOutputTokens': '~{{count}} tokens',
|
|
398
|
-
'ide.chat.streamingOutputTokensHint': '
|
|
399
|
-
'ide.chat.costSummary': '
|
|
400
|
-
'ide.chat.costCachedLine': '
|
|
390
|
+
'ide.chat.streamingOutputTokensHint': 'Số token ước tính đầu ra trong lượt này — /cost hiển thị token đầu vào và token đã được lưu vào bộ nhớ cache.',
|
|
391
|
+
'ide.chat.costSummary': 'Mô hình: {{model}}\nĐầu vào: {{input}} token\nĐầu ra: {{output}} token',
|
|
392
|
+
'ide.chat.costCachedLine': 'Dữ liệu đầu vào được lưu vào bộ nhớ cache: {{cached}} token (được tính phí với một phần nhỏ so với dữ liệu đầu vào)',
|
|
401
393
|
'ide.chat.lintErrorsCount': '{{count}} lint errors',
|
|
402
394
|
'ide.chat.lintWarningsCount': '{{count}} warnings',
|
|
403
395
|
'ide.chat.typeErrorsCount': '{{count}} type errors',
|
|
404
396
|
'ide.chat.help.commandsHeading': '── Commands ──',
|
|
405
|
-
'ide.chat.help.intro':
|
|
397
|
+
'ide.chat.help.intro': '{{agentName}} là trợ lý lập trình AI của {{productName}}. Hãy mô tả những gì bạn muốn xây dựng và nó sẽ tạo khung sườn, lập trình và cùng bạn lặp lại quy trình.',
|
|
406
398
|
'ide.chat.help.introHeading': '── Getting Started ──',
|
|
407
|
-
'ide.chat.help.modeDiscovery': '
|
|
408
|
-
'ide.chat.help.modeExecute': '
|
|
409
|
-
'ide.chat.help.modePlan': '
|
|
399
|
+
'ide.chat.help.modeDiscovery': 'Khám phá — những cuộc trò chuyện mới bắt đầu từ đây. {{agentName}} đặt câu hỏi làm rõ để xác định chính xác các yêu cầu trước khi viết bất kỳ đoạn mã nào.',
|
|
400
|
+
'ide.chat.help.modeExecute': 'Thực thi — chế độ làm việc mặc định. {{agentName}} viết mã, chạy các công cụ và áp dụng các thay đổi, sau đó xác minh chúng.',
|
|
401
|
+
'ide.chat.help.modePlan': 'Lập kế hoạch — {{agentName}} nghiên cứu mã nguồn và đề xuất một kế hoạch mà KHÔNG chỉnh sửa tệp. Bật/tắt bằng lệnh /plan. Thích hợp nhất cho những thay đổi lớn hoặc rủi ro cao.',
|
|
410
402
|
'ide.chat.help.modesHeading': '── Modes ──',
|
|
411
|
-
'ide.chat.help.shortcuts': '
|
|
412
|
-
'ide.chat.help.tipCompact': '•
|
|
403
|
+
'ide.chat.help.shortcuts': 'Nhấn Cmd+/ (Ctrl+/ trên Windows/Linux) để xem tất cả các phím tắt.',
|
|
404
|
+
'ide.chat.help.tipCompact': '• Sử dụng lệnh /compact để rút gọn ngữ cảnh khi cuộc hội thoại trở nên dài.',
|
|
413
405
|
'ide.chat.help.tipMention': '• Type @filename to attach a project file as context (or drag & drop any file).',
|
|
414
|
-
'ide.chat.help.tipPlan': '•
|
|
415
|
-
'ide.chat.help.tipSlash': '•
|
|
416
|
-
'ide.chat.help.tipSpecific': '•
|
|
417
|
-
'ide.chat.help.tipUndo':
|
|
406
|
+
'ide.chat.help.tipPlan': '• Sử dụng lệnh /plan để {{agentName}} nghiên cứu trước khi thực hiện thay đổi.',
|
|
407
|
+
'ide.chat.help.tipSlash': '• Gõ / để xem tất cả các lệnh ở trên.',
|
|
408
|
+
'ide.chat.help.tipSpecific': '• Hãy cụ thể hơn — "Thêm trang đăng nhập với email/mật khẩu và Google OAuth" sẽ hiệu quả hơn là "thêm xác thực".',
|
|
409
|
+
'ide.chat.help.tipUndo': '• Sử dụng lệnh /undo để hoàn tác các thay đổi tệp của lượt chơi AI cuối cùng nếu nó đi chệch hướng.',
|
|
418
410
|
'ide.chat.help.tipsHeading': '── Tips ──',
|
|
419
411
|
'ide.chat.report.heading': 'Report a bug',
|
|
420
412
|
'ide.chat.report.openReport': 'Report a bug',
|
|
421
|
-
'ide.chat.report.subheading': '
|
|
413
|
+
'ide.chat.report.subheading': 'Hãy cho chúng tôi biết điều gì đã xảy ra sai sót hoặc điều gì bạn muốn thấy. (Phần này dành cho nhóm của {{productName}}',
|
|
422
414
|
'ide.chat.report.titleLabel': 'Title',
|
|
423
415
|
'ide.chat.report.titlePlaceholder': 'Brief summary',
|
|
424
416
|
'ide.chat.report.descriptionLabel': 'Description',
|
|
425
|
-
'ide.chat.report.descriptionPlaceholder': '
|
|
426
|
-
'ide.chat.report.stepsLabel': '
|
|
417
|
+
'ide.chat.report.descriptionPlaceholder': 'Chuyện gì đã xảy ra? Bạn mong đợi điều gì?',
|
|
418
|
+
'ide.chat.report.stepsLabel': 'Các bước để tái hiện lỗi (tùy chọn)',
|
|
427
419
|
'ide.chat.report.stepsPlaceholder': '1. …\n2. …',
|
|
428
|
-
'ide.chat.report.includeChat': '
|
|
420
|
+
'ide.chat.report.includeChat': 'Bao gồm cả đoạn chat gần đây để làm rõ ngữ cảnh.',
|
|
429
421
|
'ide.chat.report.submit': 'Submit report',
|
|
430
422
|
'ide.chat.report.submitting': 'Submitting…',
|
|
431
|
-
'ide.chat.report.error': '
|
|
423
|
+
'ide.chat.report.error': 'Không thể gửi báo cáo của bạn. Vui lòng thử lại.',
|
|
432
424
|
'ide.chat.report.viewIssue': 'View issue',
|
|
433
425
|
'ide.chat.scripts.heading': 'Scripts',
|
|
434
426
|
'ide.chat.scripts.new': 'New script',
|
|
435
427
|
'ide.chat.scripts.cancelNew': 'Cancel',
|
|
436
|
-
'ide.chat.scripts.namePlaceholder': '
|
|
437
|
-
'ide.chat.scripts.descriptionPlaceholder': '
|
|
428
|
+
'ide.chat.scripts.namePlaceholder': 'Tên tập lệnh (ví dụ: run-tests)',
|
|
429
|
+
'ide.chat.scripts.descriptionPlaceholder': 'Nó làm gì?',
|
|
438
430
|
'ide.chat.scripts.bodyPlaceholder': '#!/bin/sh\nnpm test',
|
|
439
431
|
'ide.chat.scripts.searchPlaceholder': 'Filter scripts…',
|
|
440
432
|
'ide.chat.scripts.save': 'Save script',
|
|
441
433
|
'ide.chat.scripts.saving': 'Saving…',
|
|
442
|
-
'ide.chat.scripts.saveError': '
|
|
443
|
-
'ide.chat.scripts.invalid': '
|
|
444
|
-
'ide.chat.scripts.empty': '
|
|
434
|
+
'ide.chat.scripts.saveError': 'Không thể lưu kịch bản. Vui lòng thử lại.',
|
|
435
|
+
'ide.chat.scripts.invalid': 'Một đoạn mã cần có tên và phần thân không rỗng.',
|
|
436
|
+
'ide.chat.scripts.empty': 'Chưa có kịch bản nào được lưu. Hãy tạo một kịch bản ở trên, hoặc yêu cầu {{agentName}} viết và lưu một kịch bản.',
|
|
445
437
|
'ide.chat.scripts.loading': 'Loading scripts…',
|
|
446
|
-
'ide.chat.scripts.error': '
|
|
447
|
-
'ide.chat.scripts.noMatch': '
|
|
438
|
+
'ide.chat.scripts.error': 'Không thể tải tập lệnh cho dự án này.',
|
|
439
|
+
'ide.chat.scripts.noMatch': 'Không có tập lệnh nào khớp với “ {{query}} ”.',
|
|
448
440
|
'ide.chat.scripts.run': 'Run',
|
|
449
|
-
'ide.chat.scripts.runTitle': '
|
|
441
|
+
'ide.chat.scripts.runTitle': 'Chạy đoạn mã này trong môi trường thử nghiệm (sandbox).',
|
|
450
442
|
'ide.chat.scripts.running': 'Running…',
|
|
451
|
-
'ide.chat.scripts.runError': '
|
|
452
|
-
'ide.chat.scripts.runNone': '
|
|
453
|
-
'ide.chat.scripts.runNotFound': '
|
|
443
|
+
'ide.chat.scripts.runError': 'Không thể chạy tập lệnh.',
|
|
444
|
+
'ide.chat.scripts.runNone': 'Chưa có tập lệnh nào được lưu. Mở /scripts để tạo một tập lệnh.',
|
|
445
|
+
'ide.chat.scripts.runNotFound': 'Không có kịch bản nào có tên “ {{name}} ”. Có sẵn: {{names}}',
|
|
454
446
|
'ide.chat.scripts.runUsage': 'Usage: /run <name> — run a saved script. Use /scripts to see them.',
|
|
455
447
|
'ide.chat.scripts.cmdExitOk': '{{name}} exited 0',
|
|
456
|
-
'ide.chat.scripts.cmdExitFail': '{{name}}
|
|
448
|
+
'ide.chat.scripts.cmdExitFail': '{{name}} đã thoát với mã {{code}}',
|
|
457
449
|
'ide.chat.scripts.exitOk': 'Exited 0',
|
|
458
450
|
'ide.chat.scripts.exitFail': 'Exited {{code}}',
|
|
459
451
|
'ide.chat.scripts.noOutput': '(no output)',
|
|
@@ -466,28 +458,28 @@ export const vi = {
|
|
|
466
458
|
'ide.chat.settings.modelUnset': 'Not set',
|
|
467
459
|
'ide.chat.settings.off': 'Off',
|
|
468
460
|
'ide.chat.settings.on': 'On',
|
|
469
|
-
'ide.chat.settings.soundsSummary': '{{enabled}}
|
|
461
|
+
'ide.chat.settings.soundsSummary': '{{enabled}} trong tổng số {{total}} sự kiện đã được bật',
|
|
470
462
|
'ide.chat.share.heading': 'Share project',
|
|
471
463
|
'ide.chat.share.loading': 'Loading…',
|
|
472
|
-
'ide.chat.share.none': '
|
|
473
|
-
'ide.chat.share.copyHint': '
|
|
464
|
+
'ide.chat.share.none': 'Chưa có liên kết công khai nào.',
|
|
465
|
+
'ide.chat.share.copyHint': 'Nhấp chuột để sao chép',
|
|
474
466
|
'ide.chat.share.revoke': 'Revoke',
|
|
475
467
|
'ide.chat.share.revoking': 'Revoking…',
|
|
476
|
-
'ide.chat.share.revokeFailed': '
|
|
468
|
+
'ide.chat.share.revokeFailed': 'Không thể thu hồi liên kết đó. Vui lòng thử lại.',
|
|
477
469
|
'ide.chat.share.openShare': 'Share project',
|
|
478
|
-
'ide.chat.share.subheading': '
|
|
470
|
+
'ide.chat.share.subheading': 'Tạo một liên kết công khai. Bất kỳ ai có liên kết đó đều sẽ có vai trò bạn chọn — liên kết người xem chỉ có quyền đọc.',
|
|
479
471
|
'ide.chat.share.roleLabel': 'Role',
|
|
480
472
|
'ide.chat.share.create': 'Create link',
|
|
481
473
|
'ide.chat.share.creating': 'Creating…',
|
|
482
|
-
'ide.chat.share.created': '
|
|
483
|
-
'ide.chat.share.createAnother': '
|
|
474
|
+
'ide.chat.share.created': 'Đã tạo liên kết chia sẻ {{role}} .',
|
|
475
|
+
'ide.chat.share.createAnother': 'Tạo liên kết mới',
|
|
484
476
|
'ide.chat.share.linkLabel': 'Public link',
|
|
485
477
|
'ide.chat.share.copy': 'Copy link',
|
|
486
478
|
'ide.chat.share.copyShort': 'Copy',
|
|
487
479
|
'ide.chat.share.copied': 'Copied',
|
|
488
480
|
'ide.chat.share.openLink': 'Open link',
|
|
489
|
-
'ide.chat.share.error': '
|
|
490
|
-
'ide.chat.share.usage': '
|
|
481
|
+
'ide.chat.share.error': 'Không thể tạo liên kết chia sẻ. Vui lòng thử lại.',
|
|
482
|
+
'ide.chat.share.usage': 'Cách sử dụng: /share [role] — tạo liên kết công khai. Vai trò: {{roles}} (người xem mặc định).',
|
|
491
483
|
'ide.chat.share.notAllowed': 'Quản lý liên kết chia sẻ cần vai trò quản trị viên trong dự án này.',
|
|
492
484
|
'ide.chat.skills.heading': 'Skills',
|
|
493
485
|
'ide.chat.skills.searchPlaceholder': 'Filter skills…',
|
|
@@ -495,9 +487,9 @@ export const vi = {
|
|
|
495
487
|
'ide.chat.skills.loadTitle': 'Open in editor and attach as context',
|
|
496
488
|
'ide.chat.skills.loaded': 'Loaded skill “{{name}}” — opened in the editor and attached as context for your next message.',
|
|
497
489
|
'ide.chat.skills.loading': 'Loading skills…',
|
|
498
|
-
'ide.chat.skills.error': '
|
|
499
|
-
'ide.chat.skills.empty': '
|
|
500
|
-
'ide.chat.skills.noMatch': '
|
|
490
|
+
'ide.chat.skills.error': 'Không thể tải kỹ năng cho dự án này.',
|
|
491
|
+
'ide.chat.skills.empty': 'Không tìm thấy kỹ năng nào trong thư mục .agents/skills/ cho dự án này.',
|
|
492
|
+
'ide.chat.skills.noMatch': 'Không có kỹ năng nào phù hợp với “ {{query}} ”.',
|
|
501
493
|
'ide.chat.skills.relevant.label': 'Relevant skill',
|
|
502
494
|
'ide.chat.skills.relevant.dismiss': 'Dismiss suggestion',
|
|
503
495
|
'ide.chat.thoughtForSecond': 'Thought for 1 second',
|
|
@@ -517,56 +509,56 @@ export const vi = {
|
|
|
517
509
|
'ide.chat.help.card.modesTitle': 'Modes',
|
|
518
510
|
'ide.chat.help.card.tipsTitle': 'Tips',
|
|
519
511
|
'ide.chat.help.card.usageHint': 'Usage: {{usage}} ([…] optional, <…> required)',
|
|
520
|
-
'ide.chat.report.failed': '
|
|
521
|
-
'ide.chat.report.submitted':
|
|
522
|
-
'ide.chat.report.submittedWithLink': '
|
|
523
|
-
'ide.chat.settings.modelFollowsDefault': '
|
|
512
|
+
'ide.chat.report.failed': 'Không thể gửi báo cáo của bạn. Vui lòng thử lại.',
|
|
513
|
+
'ide.chat.report.submitted': 'Cảm ơn! Báo cáo của bạn đã được gửi đến nhóm của {{productName}}.',
|
|
514
|
+
'ide.chat.report.submittedWithLink': 'Cảm ơn! Báo cáo của bạn đã được gửi — bạn có thể theo dõi trạng thái báo cáo trên đường dẫn được đính kèm.',
|
|
515
|
+
'ide.chat.settings.modelFollowsDefault': 'Tuân theo mô hình mặc định',
|
|
524
516
|
'ide.chat.settings.modelDefaultFast': 'Fast default',
|
|
525
517
|
'ide.chat.settings.modelDefaultNamed': 'Default ({{model}})',
|
|
526
518
|
'ide.chat.settings.effortValue': 'plan: {{plan}} · execute: {{execute}}',
|
|
527
519
|
'ide.resizeHandle.label': 'Resize panels',
|
|
528
520
|
'ide.chat.settings.autoCommitEvery': 'Every {{seconds}}s',
|
|
529
|
-
'ide.chat.settings.hooksValue': '
|
|
521
|
+
'ide.chat.settings.hooksValue': 'Trong cài đặt dự án',
|
|
530
522
|
'ide.chat.skills.new': 'New skill',
|
|
531
|
-
'ide.chat.skills.newTitle': '
|
|
532
|
-
'ide.chat.skills.newPlaceholder': '
|
|
523
|
+
'ide.chat.skills.newTitle': 'Tạo kỹ năng dự án mới',
|
|
524
|
+
'ide.chat.skills.newPlaceholder': 'Tên kỹ năng mới…',
|
|
533
525
|
'ide.chat.skills.create': 'Create',
|
|
534
526
|
'ide.chat.skills.cancel': 'Cancel',
|
|
535
|
-
'ide.chat.skills.createError': '
|
|
536
|
-
'ide.chat.skills.created': '
|
|
537
|
-
'ide.chat.autoCommit.on': '
|
|
527
|
+
'ide.chat.skills.createError': 'Không thể tạo kỹ năng — vui lòng thử lại.',
|
|
528
|
+
'ide.chat.skills.created': 'Kỹ năng “ {{name}} ” đã được tạo — mở trong trình chỉnh sửa. Hãy điền mô tả và các bước thực hiện.',
|
|
529
|
+
'ide.chat.autoCommit.on': 'Tự động cam kết khi',
|
|
538
530
|
'ide.chat.mention': 'Reference a file',
|
|
539
531
|
'ide.chat.slashCommands': 'Slash commands',
|
|
540
532
|
'ide.chat.skills.loadedPrefix': 'Loaded ',
|
|
541
533
|
'ide.chat.skills.loadedSuffix': ' skill',
|
|
542
534
|
'ide.chat.viewProfile': 'View profile',
|
|
543
|
-
'ide.preview.loadFailed':
|
|
544
|
-
'ide.preview.loadFailedHint': '
|
|
535
|
+
'ide.preview.loadFailed': 'Không thể tải bản xem trước tại đây',
|
|
536
|
+
'ide.preview.loadFailedHint': 'Hãy thử tải lại trang hoặc mở bản xem trước trong một tab mới.',
|
|
545
537
|
'ide.preview.reloadPreview': 'Reload preview',
|
|
546
|
-
'ide.preview.lastWorkingFrame': '
|
|
547
|
-
'ide.chat.effort.notSupportedForModel':
|
|
538
|
+
'ide.preview.lastWorkingFrame': 'Bản xem trước hoạt động cuối cùng',
|
|
539
|
+
'ide.chat.effort.notSupportedForModel': '{{level}} không khả dụng cho {{model}}. Khả dụng: {{levels}}',
|
|
548
540
|
'ide.chat.modelSortLabel': 'Sort',
|
|
549
|
-
'ide.chat.modelSortDirection': '
|
|
541
|
+
'ide.chat.modelSortDirection': 'Chuyển đổi hướng sắp xếp',
|
|
550
542
|
'ide.chat.skills.loadedBadge': 'Loaded',
|
|
551
543
|
'ide.chat.skills.defaultBadge': 'Default',
|
|
552
|
-
'ide.chat.skills.setDefault': '
|
|
553
|
-
'ide.chat.skills.unsetDefault': '
|
|
554
|
-
'ide.chat.skills.matchHint': '
|
|
544
|
+
'ide.chat.skills.setDefault': 'Tải mặc định',
|
|
545
|
+
'ide.chat.skills.unsetDefault': 'Dừng tải theo mặc định',
|
|
546
|
+
'ide.chat.skills.matchHint': 'Gợi ý từ các từ khóa trong tin nhắn gần đây của bạn',
|
|
555
547
|
'ide.device.select': 'Device frame',
|
|
556
548
|
'ide.device.rotate': 'Rotate',
|
|
557
549
|
'ide.chat.closeOverlay': 'Close',
|
|
558
|
-
'ide.chat.retryCountdown': '
|
|
559
|
-
'ide.preview.blankTitle': '
|
|
560
|
-
'ide.preview.blankHint': '
|
|
561
|
-
'ide.chat.previewLinkTitle': '
|
|
562
|
-
'ide.chat.report.diagnosticsNote': '
|
|
550
|
+
'ide.chat.retryCountdown': 'Lỗi máy chủ — đang thử lại sau {{seconds}} giây… (lần thử thứ {{attempt}})',
|
|
551
|
+
'ide.preview.blankTitle': 'Bản xem trước trống',
|
|
552
|
+
'ide.preview.blankHint': 'Ứng dụng đã tải nhưng không hiển thị bất cứ thứ gì — có thể đã xảy ra lỗi. Synthase đã được thông báo. Bạn có thể tải lại hoặc mở bản xem trước trong một tab mới.',
|
|
553
|
+
'ide.chat.previewLinkTitle': 'Mở {{path}} trong chế độ xem trước',
|
|
554
|
+
'ide.chat.report.diagnosticsNote': 'Thông tin về phiên bản ứng dụng, trình duyệt và kích thước màn hình của bạn được đính kèm để giúp chúng tôi gỡ lỗi.',
|
|
563
555
|
'ide.chat.skills.loadedCount': '🧠 Loaded {{count}} skills',
|
|
564
|
-
'ide.chat.skills.waitingForSandbox': '
|
|
565
|
-
'ide.chat.skills.resetDefaults': '
|
|
566
|
-
'ide.search.excludedDirs': '
|
|
567
|
-
'ide.chat.costStreamingNote': '
|
|
556
|
+
'ide.chat.skills.waitingForSandbox': 'Đang chờ quá trình khởi động hoàn tất của môi trường thử nghiệm…',
|
|
557
|
+
'ide.chat.skills.resetDefaults': 'Tải tất cả theo mặc định',
|
|
558
|
+
'ide.search.excludedDirs': 'Các thư mục bị loại trừ (áp dụng cho tất cả các tìm kiếm, bao gồm cả tìm kiếm của tác nhân)',
|
|
559
|
+
'ide.chat.costStreamingNote': 'Tổng số đang tính đến hiện tại — bao gồm cả phản hồi đang được truyền tải.',
|
|
568
560
|
'ide.toolCall.packageCount': '{{count}} packages',
|
|
569
|
-
'ide.toolCall.openPackageDoc': '
|
|
561
|
+
'ide.toolCall.openPackageDoc': 'Mở tài liệu gói',
|
|
570
562
|
'ide.chat.fastModeOn': 'Chế độ nhanh được bật — phản hồi nhanh hơn với tốc độ cao hơn',
|
|
571
563
|
'ide.chat.fastModeOff': 'Chế độ nhanh tắt',
|
|
572
564
|
'ide.chat.fastModeEnable': 'Chế độ nhanh — tốc độ xuất dữ liệu nhanh hơn tới 2,5 lần với tốc độ xử lý token cao hơn.',
|
|
@@ -578,7 +570,7 @@ export const vi = {
|
|
|
578
570
|
'ide.chat.settings.effort.label': 'Nỗ lực lý luận',
|
|
579
571
|
'ide.chat.timestampsShown': 'Đã hiện dấu thời gian.',
|
|
580
572
|
'ide.chat.timestampsHidden': 'Đã ẩn dấu thời gian.',
|
|
581
|
-
'ide.chat.timestampsUsage': '
|
|
573
|
+
'ide.chat.timestampsUsage': 'Cách sử dụng: /timestamps [on | off]',
|
|
582
574
|
'ide.tests.testCount': '{{count}} kiểm tra',
|
|
583
575
|
'ide.tests.run': 'Chạy',
|
|
584
576
|
'ide.tests.runAll': 'Chạy tất cả',
|
|
@@ -603,16 +595,16 @@ export const vi = {
|
|
|
603
595
|
'ide.tests.e2eHint': 'Các thao tác này được thực hiện song song với bản xem trước trực tiếp, vì vậy hãy luôn mở bản xem trước.',
|
|
604
596
|
'ide.tests.showOutput': 'Hiển thị kết quả',
|
|
605
597
|
'ide.tests.hideOutput': 'Ẩn kết quả đầu ra',
|
|
606
|
-
'ide.testsBar.notRun_one': '{{count}}
|
|
607
|
-
'ide.testsBar.notRun_other': '{{count}}
|
|
608
|
-
'ide.testsBar.counts': '{{passed}}
|
|
609
|
-
'ide.testsBar.running': '
|
|
598
|
+
'ide.testsBar.notRun_one': '{{count}} bài kiểm tra chưa được chạy',
|
|
599
|
+
'ide.testsBar.notRun_other': '{{count}} bài kiểm tra chưa được chạy',
|
|
600
|
+
'ide.testsBar.counts': '{{passed}} đạt, {{failed}} không đạt, {{skipped}} bỏ qua',
|
|
601
|
+
'ide.testsBar.running': 'Đang chạy thử nghiệm — còn {{remaining}} thử nghiệm nữa',
|
|
610
602
|
'ide.testsBar.runningLast': 'Running tests',
|
|
611
603
|
'ide.testsBar.passing': 'All {{passed}} passing',
|
|
612
604
|
'ide.testsBar.passingWithSkips': '{{passed}} passing, {{skipped}} skipped',
|
|
613
605
|
'ide.testsBar.failing': '{{failed}} failing, {{passed}} passing',
|
|
614
|
-
'ide.testsBar.stopped': '
|
|
615
|
-
'ide.testsBar.error': '
|
|
606
|
+
'ide.testsBar.stopped': 'Quá trình chạy thử nghiệm đã dừng lại.',
|
|
607
|
+
'ide.testsBar.error': 'Quá trình chạy thử nghiệm không hoàn tất.',
|
|
616
608
|
'ide.testsBar.passedLabel': 'passing',
|
|
617
609
|
'ide.testsBar.failedLabel': 'failing',
|
|
618
610
|
'ide.testsBar.skippedLabel': 'skipped',
|
|
@@ -620,8 +612,8 @@ export const vi = {
|
|
|
620
612
|
'ide.testsBar.currentFile': 'Running {{file}}',
|
|
621
613
|
'ide.testsBar.open': 'Tests',
|
|
622
614
|
'ide.testsBar.stop': 'Stop',
|
|
623
|
-
'ide.chat.testsBarShown': '
|
|
624
|
-
'ide.chat.testsBarHidden': '
|
|
615
|
+
'ide.chat.testsBarShown': 'Biểu đồ kiểm tra được hiển thị.',
|
|
616
|
+
'ide.chat.testsBarHidden': 'Thanh kiểm tra đã bị ẩn.',
|
|
625
617
|
'ide.toolCall.command': 'Command',
|
|
626
618
|
'ide.toolCall.request': 'Request',
|
|
627
619
|
'ide.toolCall.response': 'Response',
|
|
@@ -629,8 +621,8 @@ export const vi = {
|
|
|
629
621
|
'ide.work.running': '{{count}} running',
|
|
630
622
|
'ide.work.failed': '{{count}} failed',
|
|
631
623
|
'ide.work.finished': '{{count}} done',
|
|
632
|
-
'ide.work.waiting': '
|
|
633
|
-
'ide.work.stopped': '
|
|
624
|
+
'ide.work.waiting': 'Tôi đang chờ câu trả lời của bạn.',
|
|
625
|
+
'ide.work.stopped': 'Dừng lại trước khi hoàn thành',
|
|
634
626
|
'ide.tests.cancelled': 'Cuộc chạy dừng lại.',
|
|
635
627
|
'ide.tests.listError': 'Không thể liệt kê các bài kiểm tra của dự án này.',
|
|
636
628
|
'ide.tests.runError': 'Quá trình chạy thử không thể bắt đầu.',
|
|
@@ -660,7 +652,7 @@ export const vi = {
|
|
|
660
652
|
'ide.chat.viaDictation.badge': 'Được đọc chính tả bằng giọng nói',
|
|
661
653
|
'ide.chat.inputLabel': 'Viết một tin nhắn',
|
|
662
654
|
'ide.chat.messagesLabel': 'Tin nhắn hội thoại',
|
|
663
|
-
'ide.chat.backgroundCancelled': '{{count}}
|
|
655
|
+
'ide.chat.backgroundCancelled': '{{count}} tác vụ nền đã bị hủy',
|
|
664
656
|
'ide.chat.backgroundCancelledElapsed': 'cancelled · {{elapsed}}',
|
|
665
657
|
'ide.chat.backgroundOutput': '{{count}} characters produced',
|
|
666
658
|
'ide.work.cancelled': '{{count}} cancelled',
|
|
@@ -669,18 +661,18 @@ export const vi = {
|
|
|
669
661
|
'ide.chat.context.target': 'Compaction target',
|
|
670
662
|
'ide.chat.context.window': 'Context window',
|
|
671
663
|
'ide.chat.context.indicator': '{{tokens}} / {{limit}} tokens · {{target}} ({{percent}}%)',
|
|
672
|
-
'ide.chat.context.targetHelp': '
|
|
673
|
-
'ide.chat.context.actual': '
|
|
674
|
-
'ide.chat.context.pending': '
|
|
675
|
-
'ide.chat.context.estimate': '
|
|
676
|
-
'ide.chat.context.unknown': '
|
|
664
|
+
'ide.chat.context.targetHelp': 'Việc đầm nén được lên kế hoạch dựa trên mục tiêu này; quá trình thi công có thể tiếp tục trong khi bản tóm tắt được chuẩn bị.',
|
|
665
|
+
'ide.chat.context.actual': 'Dữ liệu đầu vào do nhà cung cấp báo cáo: {{tokens}} token (bao gồm cả dữ liệu đầu vào được lưu trong bộ nhớ cache).',
|
|
666
|
+
'ide.chat.context.pending': 'Việc sử dụng của nhà cung cấp đang chờ xử lý; số lượng token hiện tại chỉ là ước tính.',
|
|
667
|
+
'ide.chat.context.estimate': 'Ước tính số lượng văn bản đã biết: {{tokens}} token. Yêu cầu: {{chars}} ký tự / {{bytes}} byte. Số lượng phần trăm được mô tả là số token ước tính, không phải là số token được phân bổ thực tế.',
|
|
668
|
+
'ide.chat.context.unknown': 'Một số hình ảnh, tệp đính kèm hoặc nội dung không thể đo lường được có chi phí token không xác định và bị loại trừ khỏi ước tính số lượng chia sẻ.',
|
|
677
669
|
'ide.chat.context.breakdown': 'Request composition',
|
|
678
670
|
'ide.chat.context.category': 'Category',
|
|
679
671
|
'ide.chat.context.tokens': 'Est. tokens',
|
|
680
672
|
'ide.chat.context.share': 'Share',
|
|
681
673
|
'ide.chat.context.bytes': 'Bytes',
|
|
682
|
-
'ide.chat.context.history': '
|
|
683
|
-
'ide.chat.context.chart': '
|
|
674
|
+
'ide.chat.context.history': 'Bối cảnh theo thời gian · {{count}} yêu cầu',
|
|
675
|
+
'ide.chat.context.chart': 'Nhập mã thông báo theo thời gian; đường nét đứt đánh dấu mục tiêu hiện tại.',
|
|
684
676
|
'ide.chat.context.tokenUnit': 'tokens',
|
|
685
677
|
'ide.chat.context.compactions': 'Completed compactions: {{count}}',
|
|
686
678
|
'ide.chat.context.compaction': '{{at}} · {{before}} → {{after}} characters · {{seconds}}s',
|
|
@@ -709,7 +701,7 @@ export const vi = {
|
|
|
709
701
|
'ide.chat.context.session': 'Phiên hiện tại',
|
|
710
702
|
'ide.chat.context.sessionTotal': '{{tokens}} mã thông báo',
|
|
711
703
|
'ide.chat.context.sessionDetail': '{{input}} đầu vào (bao gồm bộ nhớ đệm) · {{output}} đầu ra',
|
|
712
|
-
'ide.chat.context.live': '
|
|
704
|
+
'ide.chat.context.live': 'Trực tiếp',
|
|
713
705
|
'ide.chat.context.allowance': 'Tổng số tiền trợ cấp AI',
|
|
714
706
|
'ide.chat.context.remainingPercent': '~ {{percent}} % còn lại',
|
|
715
707
|
'ide.chat.context.unmetered': 'Không đo lường',
|
|
@@ -718,5 +710,16 @@ export const vi = {
|
|
|
718
710
|
'ide.chat.context.monthly': 'Trợ cấp hàng tháng.',
|
|
719
711
|
'ide.chat.context.daily': 'Tiền tiêu vặt hàng ngày.',
|
|
720
712
|
'ide.chat.context.resets': 'Đặt lại về {{at}} .',
|
|
713
|
+
'ide.error.noProvider': 'Trình cung cấp không gian làm việc IDE chưa được cấu hình. Hãy liên kết với trình cung cấp IDE trước.',
|
|
714
|
+
'ide.chat.tip.plan': 'Mẹo: Sử dụng /plan để {{agentName}} nghiên cứu và đề xuất kế hoạch trước khi chỉnh sửa bất kỳ tập tin nào.',
|
|
715
|
+
'ide.chat.tip.commit': 'Mẹo: dùng /commit để lưu các thay đổi của bạn thành một git commit mà bạn luôn có thể quay lại.',
|
|
716
|
+
'ide.chat.compacted': 'Đã nén {{count}} tin nhắn.',
|
|
717
|
+
'ide.chat.models.usageRateMultiplier': '× {{rate}}',
|
|
718
|
+
'ide.chat.undoComplete': 'Đã khôi phục {{count}} tập tin từ lượt chơi AI trước.',
|
|
719
|
+
'ide.chat.autoFixCountdown': 'Tự động sửa lỗi trong {{seconds}} giây...',
|
|
720
|
+
'ide.chat.version': '{{productName}} v {{version}}',
|
|
721
|
+
'ide.search.replaceConfirmation': 'Thay thế {{count}} lần xuất hiện trong {{files}} tệp?',
|
|
722
|
+
'ide.chat.voice': 'Đọc chính tả',
|
|
723
|
+
'ide.chat.voiceStop': 'Dừng đọc chính tả',
|
|
721
724
|
};
|
|
722
725
|
//# sourceMappingURL=vi.js.map
|