@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.
Files changed (241) hide show
  1. package/README.md +16 -9
  2. package/dist/af.d.ts.map +1 -1
  3. package/dist/af.js +165 -162
  4. package/dist/af.js.map +1 -1
  5. package/dist/am.d.ts.map +1 -1
  6. package/dist/am.js +168 -165
  7. package/dist/am.js.map +1 -1
  8. package/dist/ar.d.ts.map +1 -1
  9. package/dist/ar.js +93 -82
  10. package/dist/ar.js.map +1 -1
  11. package/dist/az.d.ts.map +1 -1
  12. package/dist/az.js +163 -160
  13. package/dist/az.js.map +1 -1
  14. package/dist/be.d.ts.map +1 -1
  15. package/dist/be.js +167 -160
  16. package/dist/be.js.map +1 -1
  17. package/dist/bg.d.ts.map +1 -1
  18. package/dist/bg.js +82 -79
  19. package/dist/bg.js.map +1 -1
  20. package/dist/bn.d.ts.map +1 -1
  21. package/dist/bn.js +164 -161
  22. package/dist/bn.js.map +1 -1
  23. package/dist/bs.d.ts.map +1 -1
  24. package/dist/bs.js +164 -159
  25. package/dist/bs.js.map +1 -1
  26. package/dist/ca.d.ts.map +1 -1
  27. package/dist/ca.js +166 -161
  28. package/dist/ca.js.map +1 -1
  29. package/dist/cs.d.ts.map +1 -1
  30. package/dist/cs.js +89 -84
  31. package/dist/cs.js.map +1 -1
  32. package/dist/cy.d.ts.map +1 -1
  33. package/dist/cy.js +172 -161
  34. package/dist/cy.js.map +1 -1
  35. package/dist/da.d.ts.map +1 -1
  36. package/dist/da.js +84 -81
  37. package/dist/da.js.map +1 -1
  38. package/dist/de.d.ts.map +1 -1
  39. package/dist/de.js +85 -82
  40. package/dist/de.js.map +1 -1
  41. package/dist/el.d.ts.map +1 -1
  42. package/dist/el.js +89 -86
  43. package/dist/el.js.map +1 -1
  44. package/dist/en.d.ts.map +1 -1
  45. package/dist/en.js +18 -6
  46. package/dist/en.js.map +1 -1
  47. package/dist/es.d.ts.map +1 -1
  48. package/dist/es.js +88 -83
  49. package/dist/es.js.map +1 -1
  50. package/dist/et.d.ts.map +1 -1
  51. package/dist/et.js +86 -83
  52. package/dist/et.js.map +1 -1
  53. package/dist/eu.d.ts.map +1 -1
  54. package/dist/eu.js +165 -162
  55. package/dist/eu.js.map +1 -1
  56. package/dist/fa.d.ts.map +1 -1
  57. package/dist/fa.js +163 -160
  58. package/dist/fa.js.map +1 -1
  59. package/dist/fi.d.ts.map +1 -1
  60. package/dist/fi.js +86 -83
  61. package/dist/fi.js.map +1 -1
  62. package/dist/fil.d.ts.map +1 -1
  63. package/dist/fil.js +164 -161
  64. package/dist/fil.js.map +1 -1
  65. package/dist/fr.d.ts.map +1 -1
  66. package/dist/fr.js +83 -78
  67. package/dist/fr.js.map +1 -1
  68. package/dist/ga.d.ts.map +1 -1
  69. package/dist/ga.js +168 -159
  70. package/dist/ga.js.map +1 -1
  71. package/dist/gl.d.ts.map +1 -1
  72. package/dist/gl.js +164 -161
  73. package/dist/gl.js.map +1 -1
  74. package/dist/gu.d.ts.map +1 -1
  75. package/dist/gu.js +163 -160
  76. package/dist/gu.js.map +1 -1
  77. package/dist/ha.d.ts.map +1 -1
  78. package/dist/ha.js +164 -161
  79. package/dist/ha.js.map +1 -1
  80. package/dist/he.d.ts.map +1 -1
  81. package/dist/he.js +171 -166
  82. package/dist/he.js.map +1 -1
  83. package/dist/hi.d.ts.map +1 -1
  84. package/dist/hi.js +163 -160
  85. package/dist/hi.js.map +1 -1
  86. package/dist/hr.d.ts.map +1 -1
  87. package/dist/hr.js +165 -160
  88. package/dist/hr.js.map +1 -1
  89. package/dist/hu.d.ts.map +1 -1
  90. package/dist/hu.js +82 -79
  91. package/dist/hu.js.map +1 -1
  92. package/dist/hy.d.ts.map +1 -1
  93. package/dist/hy.js +166 -163
  94. package/dist/hy.js.map +1 -1
  95. package/dist/id.d.ts.map +1 -1
  96. package/dist/id.js +89 -86
  97. package/dist/id.js.map +1 -1
  98. package/dist/ig.d.ts.map +1 -1
  99. package/dist/ig.js +165 -162
  100. package/dist/ig.js.map +1 -1
  101. package/dist/is.d.ts.map +1 -1
  102. package/dist/is.js +163 -160
  103. package/dist/is.js.map +1 -1
  104. package/dist/it.d.ts.map +1 -1
  105. package/dist/it.js +91 -86
  106. package/dist/it.js.map +1 -1
  107. package/dist/ja.d.ts.map +1 -1
  108. package/dist/ja.js +85 -82
  109. package/dist/ja.js.map +1 -1
  110. package/dist/ka.d.ts.map +1 -1
  111. package/dist/ka.js +165 -162
  112. package/dist/ka.js.map +1 -1
  113. package/dist/kk.d.ts.map +1 -1
  114. package/dist/kk.js +162 -159
  115. package/dist/kk.js.map +1 -1
  116. package/dist/km.d.ts.map +1 -1
  117. package/dist/km.js +165 -162
  118. package/dist/km.js.map +1 -1
  119. package/dist/kn.d.ts.map +1 -1
  120. package/dist/kn.js +163 -160
  121. package/dist/kn.js.map +1 -1
  122. package/dist/ko.d.ts.map +1 -1
  123. package/dist/ko.js +97 -94
  124. package/dist/ko.js.map +1 -1
  125. package/dist/ky.d.ts.map +1 -1
  126. package/dist/ky.js +163 -160
  127. package/dist/ky.js.map +1 -1
  128. package/dist/lo.d.ts.map +1 -1
  129. package/dist/lo.js +162 -159
  130. package/dist/lo.js.map +1 -1
  131. package/dist/lt.d.ts.map +1 -1
  132. package/dist/lt.js +82 -77
  133. package/dist/lt.js.map +1 -1
  134. package/dist/lv.d.ts.map +1 -1
  135. package/dist/lv.js +84 -79
  136. package/dist/lv.js.map +1 -1
  137. package/dist/mk.d.ts.map +1 -1
  138. package/dist/mk.js +163 -160
  139. package/dist/mk.js.map +1 -1
  140. package/dist/ml.d.ts.map +1 -1
  141. package/dist/ml.js +161 -158
  142. package/dist/ml.js.map +1 -1
  143. package/dist/mn.d.ts.map +1 -1
  144. package/dist/mn.js +163 -160
  145. package/dist/mn.js.map +1 -1
  146. package/dist/mr.d.ts.map +1 -1
  147. package/dist/mr.js +161 -158
  148. package/dist/mr.js.map +1 -1
  149. package/dist/ms.d.ts.map +1 -1
  150. package/dist/ms.js +164 -161
  151. package/dist/ms.js.map +1 -1
  152. package/dist/mt.d.ts.map +1 -1
  153. package/dist/mt.js +169 -160
  154. package/dist/mt.js.map +1 -1
  155. package/dist/my.d.ts.map +1 -1
  156. package/dist/my.js +161 -158
  157. package/dist/my.js.map +1 -1
  158. package/dist/nb.d.ts.map +1 -1
  159. package/dist/nb.js +84 -81
  160. package/dist/nb.js.map +1 -1
  161. package/dist/ne.d.ts.map +1 -1
  162. package/dist/ne.js +164 -161
  163. package/dist/ne.js.map +1 -1
  164. package/dist/nl.d.ts.map +1 -1
  165. package/dist/nl.js +85 -82
  166. package/dist/nl.js.map +1 -1
  167. package/dist/pa.d.ts.map +1 -1
  168. package/dist/pa.js +162 -159
  169. package/dist/pa.js.map +1 -1
  170. package/dist/pl.d.ts.map +1 -1
  171. package/dist/pl.js +89 -82
  172. package/dist/pl.js.map +1 -1
  173. package/dist/pt.d.ts.map +1 -1
  174. package/dist/pt.js +99 -94
  175. package/dist/pt.js.map +1 -1
  176. package/dist/ro.d.ts.map +1 -1
  177. package/dist/ro.js +89 -84
  178. package/dist/ro.js.map +1 -1
  179. package/dist/ru.d.ts.map +1 -1
  180. package/dist/ru.js +86 -79
  181. package/dist/ru.js.map +1 -1
  182. package/dist/si.d.ts.map +1 -1
  183. package/dist/si.js +165 -162
  184. package/dist/si.js.map +1 -1
  185. package/dist/sk.d.ts.map +1 -1
  186. package/dist/sk.js +86 -81
  187. package/dist/sk.js.map +1 -1
  188. package/dist/sl.d.ts.map +1 -1
  189. package/dist/sl.js +87 -80
  190. package/dist/sl.js.map +1 -1
  191. package/dist/sq.d.ts.map +1 -1
  192. package/dist/sq.js +162 -159
  193. package/dist/sq.js.map +1 -1
  194. package/dist/sr.d.ts.map +1 -1
  195. package/dist/sr.js +165 -160
  196. package/dist/sr.js.map +1 -1
  197. package/dist/sv.d.ts.map +1 -1
  198. package/dist/sv.js +89 -86
  199. package/dist/sv.js.map +1 -1
  200. package/dist/sw.d.ts.map +1 -1
  201. package/dist/sw.js +165 -162
  202. package/dist/sw.js.map +1 -1
  203. package/dist/ta.d.ts.map +1 -1
  204. package/dist/ta.js +161 -158
  205. package/dist/ta.js.map +1 -1
  206. package/dist/te.d.ts.map +1 -1
  207. package/dist/te.js +162 -159
  208. package/dist/te.js.map +1 -1
  209. package/dist/th.d.ts.map +1 -1
  210. package/dist/th.js +160 -157
  211. package/dist/th.js.map +1 -1
  212. package/dist/tr.d.ts.map +1 -1
  213. package/dist/tr.js +82 -79
  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 +86 -79
  219. package/dist/uk.js.map +1 -1
  220. package/dist/ur.d.ts.map +1 -1
  221. package/dist/ur.js +164 -161
  222. package/dist/ur.js.map +1 -1
  223. package/dist/uz.d.ts.map +1 -1
  224. package/dist/uz.js +162 -159
  225. package/dist/uz.js.map +1 -1
  226. package/dist/vi.d.ts.map +1 -1
  227. package/dist/vi.js +164 -161
  228. package/dist/vi.js.map +1 -1
  229. package/dist/yo.d.ts.map +1 -1
  230. package/dist/yo.js +166 -163
  231. package/dist/yo.js.map +1 -1
  232. package/dist/zh-TW.d.ts.map +1 -1
  233. package/dist/zh-TW.js +82 -79
  234. package/dist/zh-TW.js.map +1 -1
  235. package/dist/zh.d.ts.map +1 -1
  236. package/dist/zh.js +83 -80
  237. package/dist/zh.js.map +1 -1
  238. package/dist/zu.d.ts.map +1 -1
  239. package/dist/zu.js +167 -164
  240. package/dist/zu.js.map +1 -1
  241. package/package.json +1 -1
package/dist/fa.js CHANGED
@@ -5,18 +5,18 @@ export const fa = {
5
5
  'ide.chat.commitFileCount_one': 'ثبت {{count}} فایل',
6
6
  'ide.chat.commitFileCount_other': 'ثبت {{count}} فایل',
7
7
  'ide.chat.autoCommit.countedBadge': '{{commit}} در {{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': 'پیام‌رسانی تیمی در این فضای کاری در دسترس نیست.',
9
+ 'ide.chat.teamOnly.badge': 'فقط تیم — برای تیم شما قابل مشاهده است؛ {{agentName}} آن را نادیده می‌گیرد',
10
+ 'ide.chat.tip.viewerTeamOnly': 'دسترسی فقط مشاهده — همراه با تیم بخوانید و /teamsay (یا فقط /t) را بزنید. این آیکون طلایی پیام‌های فقط تیمی را علامت‌گذاری می‌کند ({{agentName}} آنها را نادیده می‌گیرد). اجرای دستیار و تغییر مدل یا تنظیمات نیاز به دسترسی ویرایشگر دارد.',
11
+ 'ide.chat.viewerReadOnly': 'شما فقط دسترسی مشاهده دارید، بنابراین نمی‌توانید دستیار را اینجا اجرا کنید. همچنان می‌توانید آن را بخوانید و از /teamsay برای پیام دادن به تیم استفاده کنید.',
12
+ 'ide.chat.viewerReadOnlyCommand': 'شما فقط دسترسی مشاهده دارید، بنابراین این دستور در دسترس نیست. از یک ویرایشگر بخواهید تغییرات را اعمال کند.',
13
+ 'ide.chat.viewerReadOnlyNote': 'دسترسی فقط مشاهده — همراه با تیم بخوانید و /teamsay (یا فقط /t) را برای تیم انتخاب کنید. اجرای دستیار و تغییر مدل یا تنظیمات نیاز به دسترسی ویرایشگر دارد.',
14
14
  'ide.chat.soundAll': 'All',
15
15
  'ide.search.replaceAllShort': 'All',
16
16
  'ide.chat.thoughtBriefly': 'مختصراً فکر کرد',
17
17
  'ide.chat.thinking': 'تفکر',
18
18
  'ide.chat.verificationPassed': 'چک‌ها پاس شدند',
19
- 'ide.chat.renderCheckUnavailable': 'Render check unavailable',
19
+ 'ide.chat.renderCheckUnavailable': 'بررسی رندر در دسترس نیست',
20
20
  'ide.chat.typeErrorCount': '۱ نوع خطا',
21
21
  'ide.chat.lintErrorCount': '۱ خطای پرز',
22
22
  'ide.chat.lintWarningCount': '۱ اخطار',
@@ -49,30 +49,28 @@ export const fa = {
49
49
  'ide.chat.fileTooLarge': 'فایل خیلی بزرگ است. حداکثر اندازه ... است. {{maxSize}} مگابایت',
50
50
  'ide.chat.modelSet': 'مدل چت روی تنظیم شده است {{name}}',
51
51
  'ide.chat.compacting': 'فشرده سازی مکالمه...',
52
- 'ide.chat.compacted': 'میزان استفاده از متن کم است - نیازی به فشرده‌سازی نیست.',
53
52
  'ide.chat.compactError': 'نتوانست مکالمه را جمع و جور کند.',
54
53
  'ide.chat.switchedToPlan': 'به حالت برنامه‌ریزی تغییر یافت',
55
54
  'ide.chat.switchedToExecute': 'به حالت اجرا تغییر یافت',
56
55
  'ide.chat.costError': 'قادر به دریافت داده‌های استفاده نیست.',
57
- 'ide.chat.usageAllowanceTodayLine': "~{{percent}}% of today's AI allowance used.",
58
- 'ide.chat.usageAllowanceUsedUpLine': "Today's AI allowance is used up — refreshes {{when}}.",
59
- 'ide.chat.usageAllowanceMonthlyLine': '~{{percent}}% of this month’s AI allowance used.',
60
- 'ide.chat.usageAllowanceUsedUpMonthlyLine': 'This month’s AI allowance is used up — refreshes {{when}}.',
56
+ 'ide.chat.usageAllowanceTodayLine': '~ {{percent}} ٪ از میزان مجاز هوش مصنوعی امروز استفاده شده.',
57
+ 'ide.chat.usageAllowanceUsedUpLine': 'ظرفیت هوش مصنوعی امروز تمام شده است — {{when}} به‌روزرسانی می‌شود.',
58
+ 'ide.chat.usageAllowanceMonthlyLine': '~ {{percent}} ٪ از سهمیه هوش مصنوعی این ماه استفاده شده است.',
59
+ 'ide.chat.usageAllowanceUsedUpMonthlyLine': 'سهمیه هوش مصنوعی این ماه تمام شده است — {{when}} به‌روزرسانی می‌شود.',
61
60
  'ide.chat.resetSoon': 'soon',
62
- 'ide.chat.resetUnderHour': 'in under an hour',
61
+ 'ide.chat.resetUnderHour': 'در کمتر از یک ساعت',
63
62
  'ide.chat.resetTomorrow': 'tomorrow',
64
- 'ide.chat.resetInHours': 'in about {{hours}} hours',
65
- 'ide.chat.resetInDays': 'in about {{days}} days',
63
+ 'ide.chat.resetInHours': 'حدود {{hours}} ساعت دیگر',
64
+ 'ide.chat.resetInDays': 'در حدود {{days}} روز',
66
65
  'ide.chat.models.colUsageRate': 'Usage rate',
67
- 'ide.chat.models.usageRateHint': 'How fast this model uses your AI allowance, relative to the most economical model',
66
+ 'ide.chat.models.usageRateHint': 'این مدل با چه سرعتی از فضای هوش مصنوعی شما استفاده می‌کند، نسبت به اقتصادی‌ترین مدل',
68
67
  'ide.chat.models.usageRateValue': '×{{rate}} usage',
69
68
  'ide.chat.models.usageRateYourKey': 'your key',
70
- 'ide.chat.models.usageRateYourKeyHint': 'Billed to your own provider key, not your plan.',
69
+ 'ide.chat.models.usageRateYourKeyHint': 'صورتحساب به شماره اپراتور خودتان ارسال می‌شود، نه به شماره طرح شما.',
71
70
  'ide.chat.models.peakNow': 'اوج ×{{multiplier}} اکنون',
72
71
  'ide.chat.models.peakLater': '×{{multiplier}} در ساعات اوج',
73
72
  'ide.chat.models.peakHint': 'این مدل بین {{windows}} هزینه‌ای برابر ×{{multiplier}} دارد. در بقیه ساعات روز نرخ عادی اعمال می‌شود.',
74
73
  'ide.chat.undoNoChanges': 'هیچ تغییری در فایل برای لغو وجود ندارد.',
75
- 'ide.chat.undoComplete': 'بازگرداندن تغییرات ناموفق بود.',
76
74
  'ide.chat.commitNoChanges': 'هیچ تغییری برای اعمال شدن وجود ندارد.',
77
75
  'ide.chat.commitError': 'اعمال تغییرات ناموفق بود.',
78
76
  'ide.chat.autoFixEnabled': 'اصلاح خودکار فعال شد.',
@@ -81,16 +79,14 @@ export const fa = {
81
79
  'ide.chat.autoApproveEnabled': 'تأیید خودکار روشن است — دستورهای مخرب بدون پرسش اجرا می‌شوند. محافظ نشت اطلاعات همچنان سؤال می‌کند. برای خاموش کردن از /autoapprove استفاده کنید.',
82
80
  'ide.chat.autoApproveDisabled': 'تأیید خودکار خاموش است — دستورهای مخرب پیش از اجرا سؤال می‌کنند.',
83
81
  'ide.chat.autoApproveError': 'به‌روزرسانی تنظیمات تأیید خودکار ناموفق بود.',
84
- 'ide.chat.modelUsage': 'کاربرد: /مدل<model-name> (به عنوان مثال {{examples}})',
82
+ 'ide.chat.modelUsage': 'کاربرد: /model <model-name> (مثلاً {{examples}})',
85
83
  'ide.chat.modelUpgradeRequired': '{{model}} در نسخه پرو موجود است. برای دسترسی به همه مدل‌ها، ارتقا دهید.',
86
84
  'ide.chat.maxLoopsReached': 'به حداکثر تعداد حلقه‌ها رسید.',
87
85
  'ide.chat.maxLoopsError': 'به‌روزرسانی حداکثر تکرارهای ابزار ناموفق بود.',
88
86
  'ide.chat.dropFilesHere': 'فایل‌ها را اینجا رها کنید',
89
87
  'ide.chat.autoFixPaused': 'رفع خودکار متوقف شد',
90
- 'ide.chat.autoFixCountdown': 'رزومه',
91
88
  'ide.chat.autoFixPause': 'مکث',
92
89
  'ide.chat.autoFixCancel': 'لغو',
93
- 'ide.chat.version': '{{productName}} نسخه ۰.۱.۰',
94
90
  'ide.chat.selectModel': 'مدل را انتخاب کنید',
95
91
  'ide.chat.currentBadge': 'فعلی',
96
92
  'ide.chat.proRequired': 'حرفه‌ای',
@@ -138,7 +134,6 @@ export const fa = {
138
134
  'ide.search.confirmReplaceAll': 'برای تأیید دوباره کلیک کنید',
139
135
  'ide.search.replaceAll': 'جایگزین کردن همه',
140
136
  'ide.search.confirm': 'تأیید',
141
- 'ide.search.replaceConfirmation': 'مورد مطابقت',
142
137
  'ide.search.wholeWord': 'مطابقت با کلمه کامل',
143
138
  'ide.search.regex': 'استفاده از عبارات منظم',
144
139
  'ide.search.toggleFilters': 'فیلترها را تغییر دهید',
@@ -158,29 +153,29 @@ export const fa = {
158
153
  'ide.toolCall.noMatches': 'بدون تطابق',
159
154
  'ide.toolCall.andMore': '… و {{count}} بیشتر',
160
155
  'ide.chat.askUserPlaceholder': 'یا خودتان تایپ کنید…',
161
- 'ide.chat.askUserMultiHint': 'You can choose more than one.',
156
+ 'ide.chat.askUserMultiHint': 'شما می‌توانید بیش از یکی را انتخاب کنید.',
162
157
  'ide.chat.askUserSelectedCount': '{{count}} selected',
163
158
  'ide.chat.askUserMultiConfirm': 'Confirm choice',
164
159
  'ide.chat.askUserPreview': 'Preview',
165
160
  'ide.chat.taskListTitle': 'Working plan',
166
161
  'ide.chat.taskListProgress': '{{done}} of {{total}} done',
167
- 'ide.chat.planReview.badge': 'Plan ready for review',
162
+ 'ide.chat.planReview.badge': 'طرح آماده برای بررسی',
168
163
  'ide.chat.planReview.fallbackTitle': 'Implementation plan',
169
164
  'ide.chat.planReview.steps': '{{count}} steps',
170
165
  'ide.chat.planReview.openPlan': 'Open plan',
171
166
  'ide.chat.planReview.more': '+ {{count}} more steps',
172
- 'ide.chat.backgroundRunning': '{{count}} task running in the background',
173
- 'ide.chat.backgroundFailed': '{{count}} background task failed',
174
- 'ide.chat.backgroundDone': '{{count}} background task finished',
167
+ 'ide.chat.backgroundRunning': '{{count}} وظیفه در حال اجرا در پس‌زمینه',
168
+ 'ide.chat.backgroundFailed': 'کار پس‌زمینه {{count}} با شکست مواجه شد',
169
+ 'ide.chat.backgroundDone': '{{count}} وظیفه پس‌زمینه به پایان رسید',
175
170
  'ide.chat.backgroundElapsed': 'running · {{elapsed}}',
176
171
  'ide.chat.backgroundExit': 'exit {{code}} · {{elapsed}}',
177
172
  'ide.chat.backgroundOk': 'done · {{elapsed}}',
178
173
  'ide.chat.subagent.build': 'Build subagent',
179
- 'ide.chat.subagent.inBackground': 'running in the background',
174
+ 'ide.chat.subagent.inBackground': 'در حال اجرا در پس زمینه',
180
175
  'ide.chat.subagent.wroteFiles': '{{count}} files changed',
181
176
  'ide.toolCall.stillRunning': 'Still running',
182
- 'ide.toolCall.startedInBackground': 'Running in the background',
183
- 'ide.toolCall.onlySession': 'Only this one',
177
+ 'ide.toolCall.startedInBackground': 'در حال اجرا در پس زمینه',
178
+ 'ide.toolCall.onlySession': 'فقط این یکی',
184
179
  'ide.toolCall.sessionCount': '{{count}} other sessions',
185
180
  'ide.toolCall.sentTo': 'Sent to {{to}}',
186
181
  'ide.chat.subagent.judge': 'Acceptance judge',
@@ -188,7 +183,7 @@ export const fa = {
188
183
  'ide.chat.subagent.working': 'working…',
189
184
  'ide.chat.subagent.verdictPass': 'PASS',
190
185
  'ide.chat.subagent.verdictFail': 'FAIL',
191
- 'ide.chat.subagent.showReport': 'Show full report',
186
+ 'ide.chat.subagent.showReport': 'نمایش گزارش کامل',
192
187
  'ide.chat.subagent.hideReport': 'Show less',
193
188
  'ide.chat.askUserSubmit': 'ارسال',
194
189
  'ide.chat.redoChange': 'این تغییر را دوباره اعمال کنید',
@@ -203,7 +198,7 @@ export const fa = {
203
198
  'ide.toolCall.statusServerError': 'خطای سرور',
204
199
  'ide.chat.title': 'چت',
205
200
  'ide.chat.placeholder': 'ارسال پیام ...',
206
- 'ide.chat.placeholderViewer': 'Message your team',
201
+ 'ide.chat.placeholderViewer': 'به تیم خود پیام دهید',
207
202
  'ide.chat.emptyState': 'چیزی که می‌خوای بسازی رو توصیف کن...',
208
203
  'ide.chat.you': 'شما',
209
204
  'ide.chat.itemRenderError': 'نمایش این پیام ممکن نبود.',
@@ -237,17 +232,16 @@ export const fa = {
237
232
  'ide.chat.soundEvent.loop_limit_reached': 'به حد مجاز حلقه رسیده است',
238
233
  'ide.chat.soundEvent.verification_result': 'نتیجه تأیید',
239
234
  'ide.chat.soundEvent.preview_error': 'خطای پیش‌نمایش',
240
- 'ide.chat.soundEventDesc.message': 'A teammate posted a team-only note',
235
+ 'ide.chat.soundEventDesc.message': 'یکی از هم‌تیمی‌ها یادداشتی مخصوص تیم منتشر کرد',
241
236
  'ide.chat.soundEventDesc.done': '{{agentName}} finished responding',
242
237
  'ide.chat.soundEventDesc.error': 'در حین پاسخ، مشکلی پیش آمد',
243
238
  'ide.chat.soundEventDesc.tool_result': 'فراخوانی ابزار (خواندن فایل، دستور و غیره) تکمیل شد',
244
239
  'ide.chat.soundEventDesc.file_diff': 'یک فایل ایجاد یا اصلاح شد',
245
- 'ide.chat.soundEventDesc.commit_suggestion': '{{agentName}} is suggesting files to commit',
240
+ 'ide.chat.soundEventDesc.commit_suggestion': '{{agentName}} در حال پیشنهاد فایل‌ها برای کامیت کردن است.',
246
241
  'ide.chat.soundEventDesc.mode': 'بین حالت برنامه‌ریزی و حالت اجرا جابجا شد',
247
242
  'ide.chat.soundEventDesc.loop_limit_reached': 'به حداکثر حد تکرار ابزار برسید',
248
243
  'ide.chat.soundEventDesc.verification_result': 'اجرای Lint یا type-check به پایان رسید',
249
244
  'ide.chat.soundEventDesc.preview_error': 'پیش‌نمایش زنده با خطا مواجه شد',
250
- 'ide.chat.voice': 'صدا',
251
245
  'ide.chat.voiceUnavailable': 'دیکته در این مرورگر در دسترس نیست.',
252
246
  'ide.chat.voiceMicBlocked': 'دسترسی به میکروفون مسدود شده است.',
253
247
  'ide.chat.voicePreparing': 'در حال آماده‌سازی دیکته — بار اول ممکن است کمی طول بکشد.',
@@ -326,12 +320,12 @@ export const fa = {
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': 'Writing the plan',
323
+ 'ide.chat.activity.writingPlan': 'نوشتن طرح',
330
324
  'ide.activity.defaultSummary': '{{type}} captured',
331
- 'ide.chat.askUserPlaceholderEmpty': 'Type your answer…',
332
- 'ide.chat.awaitingSandbox': 'Waiting for the development environment to finish starting…',
333
- 'ide.chat.compactNotNeeded': 'Context usage is low — no compaction needed.',
334
- 'ide.chat.phaseBuilding': '🔨 Building your app',
325
+ 'ide.chat.askUserPlaceholderEmpty': 'پاسخ خود را تایپ کنید…',
326
+ 'ide.chat.awaitingSandbox': 'منتظر پایان شروع به کار محیط توسعه هستم…',
327
+ 'ide.chat.compactNotNeeded': 'میزان استفاده از متن کم است - نیازی به فشرده‌سازی نیست.',
328
+ 'ide.chat.phaseBuilding': '🔨 ساخت اپلیکیشن شما',
335
329
  'ide.chat.phasePlanning': '📝 Plan mode',
336
330
  'ide.chat.autoFixResume': 'Resume',
337
331
  'ide.chat.openSettings': 'Settings',
@@ -339,24 +333,23 @@ export const fa = {
339
333
  'ide.chat.tip.getStarted': 'نکته: برای دیدن هر دستور، / را تایپ کنید، یا برای دادن نام فایل، @ را تایپ کنید.{{agentName}} یک فایل برای کار کردن روی آن.',
340
334
  'ide.chat.tip.mention': 'نکته: برای پیوست کردن یک فایل پروژه به عنوان متن، ‎@filename‎ را تایپ کنید —{{agentName}} آن را مستقیماً می‌خواند.',
341
335
  'ide.chat.tip.slash': 'نکته: برای مرور هر دستور (commit، diff، model و موارد دیگر) / را تایپ کنید.',
342
- 'ide.chat.tip.plan': 'نکته: از /plan to have استفاده کنید{{agentName}} قبل از ویرایش هر فایلی، تحقیق و طرحی ارائه دهد.',
343
336
  'ide.chat.tip.undo': 'نکته: اگر آخرین نوبت هوش مصنوعی شما اشتباه پیش رفته باشد، می‌توانید از /undo برای برگرداندن فوری تغییرات فایل استفاده کنید.',
344
337
  'ide.chat.tip.compact': 'نکته: مکالمه طولانی؟ /compact متن را فشرده می‌کند تا فضای کافی برای کار داشته باشید.',
345
338
  'ide.chat.tip.commit': 'نکته: از /commit برای ذخیره تغییرات خود به عنوان یک commit گیت که همیشه می‌توانید به آن برگردید، استفاده کنید.',
346
339
  'ide.chat.tip.report': 'نکته: مشکلی پیش آمده؟ /report یک اشکال یا بازخورد را به همراه چت اخیر شما به تیم ارسال می‌کند.',
347
- 'ide.chat.undoError': 'Failed to revert changes.',
348
- 'ide.chat.autoCommit.badge': 'Auto-commit in {{countdown}}',
349
- 'ide.chat.autoCommit.cancel': 'Cancel auto-commit',
350
- 'ide.chat.autoCommit.cancelled': 'Auto-commit cancelled.',
351
- 'ide.chat.autoCommit.enabled': 'Auto-commit on: committing {{seconds}}s after the last file change. /autocommit 0 to cancel.',
340
+ 'ide.chat.undoError': 'بازگرداندن تغییرات ناموفق بود.',
341
+ 'ide.chat.autoCommit.badge': 'کامیت خودکار در {{countdown}}',
342
+ 'ide.chat.autoCommit.cancel': 'لغو کامیت خودکار',
343
+ 'ide.chat.autoCommit.cancelled': 'ثبت خودکار لغو شد.',
344
+ 'ide.chat.autoCommit.enabled': 'ثبت خودکار در: ثبت {{seconds}} ثانیه پس از آخرین تغییر فایل.\nبرای غیرفعال کردن autocommit، روی ۰ تنظیم کنید.',
352
345
  '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': 'Failed to update reasoning effort.',
354
- 'ide.chat.effort.fixedForModel': 'Reasoning effort is fixed on {{model}} ({{mode}} mode) — nothing to set.',
355
- 'ide.chat.effort.header': 'Reasoning effort per mode:',
356
- 'ide.chat.effort.modeFixed': ' {{mode}} ({{model}}): fixed — this model has one reasoning mode',
346
+ 'ide.chat.effort.error': 'تلاش برای استدلال به روز رسانی نشد.',
347
+ 'ide.chat.effort.fixedForModel': 'تلاش استدلال روی {{model}} (حالت {{mode}} ) ثابت شده است — چیزی برای تنظیم وجود ندارد.',
348
+ 'ide.chat.effort.header': 'تلاش استدلال در هر حالت:',
349
+ 'ide.chat.effort.modeFixed': ' {{mode}} ({{model}}): fixed — این مدل یک حالت استدلال دارد',
357
350
  'ide.chat.effort.modeLine': ' {{mode}} ({{model}}): {{current}} — available: {{levels}}',
358
- 'ide.chat.effort.setMode': 'Reasoning effort for {{mode}} set to {{level}} ({{model}}).',
359
- 'ide.chat.setting.effort': 'Reasoning effort for {{mode}} set to {{level}}.',
351
+ 'ide.chat.effort.setMode': 'تلاش استدلال برای تنظیم {{mode}} روی {{level}} ({{model}})',
352
+ 'ide.chat.setting.effort': 'تلاش استدلال برای {{mode}} روی {{level}} تنظیم شده است.',
360
353
  'ide.chat.settings.effortFixed': 'fixed',
361
354
  'ide.chat.effort.usage': 'Usage: /effort <level> (current mode), /effort --plan|--execute <level>, /effort ? for status.',
362
355
  'ide.chat.models.colContext': 'Context',
@@ -367,93 +360,93 @@ export const fa = {
367
360
  'ide.chat.models.freeYes': '✓ Free',
368
361
  'ide.chat.models.sortBy': 'Sort by {{column}}',
369
362
  'ide.chat.modelsLoading': 'Loading models…',
370
- 'ide.chat.modelsNone': 'No models are available yet — ask your admin to wire an AI provider.',
363
+ 'ide.chat.modelsNone': 'هنوز هیچ مدلی در دسترس نیست - از مدیر خود بخواهید که با یک ارائه دهنده هوش مصنوعی ارتباط برقرار کند.',
371
364
  'ide.chat.modelInUse': 'Now using {{model}}',
372
365
  'ide.chat.cardBy': '{{text}} — {{name}}',
373
- 'ide.chat.modelRemoved': 'Your selected model "{{removed}}" is no longer available. Switched to "{{fallback}}". Type /model to pick another.',
374
- '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.',
366
+ 'ide.chat.modelRemoved': 'مدل انتخابی شما " {{removed}} " دیگر در دسترس نیست. به " {{fallback}} " تغییر یافت. برای انتخاب مدل دیگر، /model را تایپ کنید.',
367
+ 'ide.chat.modelRemovedNoFallback': 'مدل انتخابی شما " {{removed}} " دیگر در دسترس نیست و هیچ جایگزینی روی سرور قرار داده نشده است. از مدیر خود بخواهید که یک ارائه دهنده هوش مصنوعی را متصل کند.',
375
368
  'ide.chat.olderModelsCollapse': 'Older models ⌃ ({{count}})',
376
369
  'ide.chat.olderModelsExpand': 'Older models ⌄ ({{count}})',
377
- 'ide.chat.selectExecuteModel': 'Select execute-mode model',
378
- 'ide.chat.selectPlanModel': 'Select plan-mode model',
379
- 'ide.chat.executeModelSet': 'Execute-mode model set to {{name}}',
380
- 'ide.chat.planModelSet': 'Plan-mode model set to {{name}}',
381
- 'ide.chat.selectCommitModel': 'Select commit-message model',
382
- 'ide.chat.selectCompactModel': 'Select compaction model',
383
- 'ide.chat.commitModelSet': 'Commit-message model set to {{name}}',
384
- 'ide.chat.compactModelSet': 'Compaction model set to {{name}}',
370
+ 'ide.chat.selectExecuteModel': 'مدل حالت اجرا را انتخاب کنید',
371
+ 'ide.chat.selectPlanModel': 'مدل حالت طرح را انتخاب کنید',
372
+ 'ide.chat.executeModelSet': 'مدل حالت اجرا روی {{name}} تنظیم شده است',
373
+ 'ide.chat.planModelSet': 'مدل حالت طرح روی {{name}} تنظیم شده است',
374
+ 'ide.chat.selectCommitModel': 'مدل پیام کامیت را انتخاب کنید',
375
+ 'ide.chat.selectCompactModel': 'مدل تراکم را انتخاب کنید',
376
+ 'ide.chat.commitModelSet': 'مدل پیام کامیت روی {{name}} تنظیم شده است',
377
+ 'ide.chat.compactModelSet': 'مدل فشرده‌سازی روی {{name}} تنظیم شده است',
385
378
  'ide.chat.modelModeLabel': 'Mode',
386
379
  'ide.chat.modelMode.default': 'Default',
387
380
  'ide.chat.modelMode.commit': 'Commit messages',
388
381
  'ide.chat.modelMode.compact': 'Compaction',
389
382
  'ide.chat.modelModeOption': '{{mode}} · {{model}}',
390
- 'ide.chat.manageCustomModels': 'Add or manage your own models…',
391
- 'ide.chat.freeInPlan': 'free in plan',
392
- 'ide.chat.freeInExecute': 'free in execute',
393
- 'ide.chat.freeInCommit': 'free in commit',
394
- 'ide.chat.modeOnlyPlan': 'On the free plan, this model is used in plan mode.',
395
- 'ide.chat.modeOnlyExecute': 'On the free plan, this model is used in execute mode.',
396
- 'ide.chat.modeOnlyCommit': 'On the free plan, this model is used for commit messages and compaction.',
383
+ 'ide.chat.manageCustomModels': 'مدل‌های خودتان را اضافه یا مدیریت کنید…',
384
+ 'ide.chat.freeInPlan': 'رایگان در طرح',
385
+ 'ide.chat.freeInExecute': 'رایگان در اجرا',
386
+ 'ide.chat.freeInCommit': 'رایگان در کامیت',
387
+ 'ide.chat.modeOnlyPlan': 'در طرح رایگان، این مدل در حالت طرح استفاده می‌شود.',
388
+ 'ide.chat.modeOnlyExecute': 'در طرح رایگان، این مدل در حالت اجرا استفاده می‌شود.',
389
+ 'ide.chat.modeOnlyCommit': 'در طرح رایگان، این مدل برای پیام‌های کامیت و فشرده‌سازی استفاده می‌شود.',
397
390
  'ide.chat.streamingOutputTokens': '~{{count}} tokens',
398
- 'ide.chat.streamingOutputTokensHint': 'Estimated output tokens this turn — /cost shows input and cached.',
399
- 'ide.chat.costSummary': 'Model: {{model}}\nInput: {{input}} tokens\nOutput: {{output}} tokens',
400
- 'ide.chat.costCachedLine': 'Cached input: {{cached}} tokens (billed at a fraction of input)',
391
+ 'ide.chat.streamingOutputTokensHint': 'توکن‌های خروجی تخمینی در این نوبت — /cost ورودی و ذخیره شده را نشان می‌دهد.',
392
+ 'ide.chat.costSummary': 'مدل: {{model}}\nورودی: توکن‌های {{input}}\nخروجی: توکن‌های {{output}}',
393
+ 'ide.chat.costCachedLine': 'ورودی ذخیره شده: توکن‌های {{cached}} (با کسری از ورودی محاسبه می‌شود)',
401
394
  'ide.chat.lintErrorsCount': '{{count}} lint errors',
402
395
  'ide.chat.lintWarningsCount': '{{count}} warnings',
403
396
  'ide.chat.typeErrorsCount': '{{count}} type errors',
404
397
  'ide.chat.help.commandsHeading': '── Commands ──',
405
- '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.",
398
+ 'ide.chat.help.intro': '{{agentName}} عامل کدنویسی هوش مصنوعی {{productName}} است. آنچه را که می‌خواهید بسازید شرح دهید و آن با شما داربست‌بندی، کدنویسی و تکرار می‌کند.',
406
399
  'ide.chat.help.introHeading': '── Getting Started ──',
407
- 'ide.chat.help.modeDiscovery': 'Discovery — new conversations start here. {{agentName}} asks clarifying questions to nail down requirements before writing any code.',
408
- 'ide.chat.help.modeExecute': 'Execute — the default working mode. {{agentName}} writes code, runs tools, and applies changes, then verifies them.',
409
- '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.',
400
+ 'ide.chat.help.modeDiscovery': 'کشف — مکالمات جدید از اینجا شروع می‌شوند. {{agentName}} قبل از نوشتن هر کدی، سوالات شفافی می‌پرسد تا الزامات را مشخص کند.',
401
+ 'ide.chat.help.modeExecute': 'اجرا — حالت کاری پیش‌فرض. {{agentName}} کد می‌نویسد، ابزارها را اجرا می‌کند و تغییرات را اعمال می‌کند، سپس آنها را تأیید می‌کند.',
402
+ 'ide.chat.help.modePlan': 'طرح — {{agentName}} کدبیس را بررسی می‌کند و بدون ویرایش فایل‌ها، طرحی را پیشنهاد می‌دهد. با /plan تغییر وضعیت دهید. برای تغییرات بزرگ یا پرخطر بهترین گزینه است.',
410
403
  'ide.chat.help.modesHeading': '── Modes ──',
411
- 'ide.chat.help.shortcuts': 'Press Cmd+/ (Ctrl+/ on Windows/Linux) to view all keyboard shortcuts.',
412
- 'ide.chat.help.tipCompact': '• Use /compact to compress context when the conversation gets long.',
404
+ 'ide.chat.help.shortcuts': 'برای مشاهده همه میانبرهای صفحه کلید، کلیدهای Cmd+/ (Ctrl+/ در ویندوز/لینوکس) را فشار دهید.',
405
+ 'ide.chat.help.tipCompact': '• وقتی مکالمه طولانی می‌شود، از /compact برای فشرده‌سازی متن استفاده کنید.',
413
406
  'ide.chat.help.tipMention': '• Type @filename to attach a project file as context (or drag & drop any file).',
414
- 'ide.chat.help.tipPlan': '• Use /plan to have {{agentName}} research before making changes.',
415
- 'ide.chat.help.tipSlash': '• Type / to browse every command above.',
416
- 'ide.chat.help.tipSpecific': '• Be specific — "Add a login page with email/password and Google OAuth" beats "add auth".',
417
- 'ide.chat.help.tipUndo': "• Use /undo to revert the last AI turn's file changes if it goes off track.",
407
+ 'ide.chat.help.tipPlan': '• قبل از اعمال تغییرات، از /plan استفاده کنید تا {{agentName}} تحقیق انجام شود.',
408
+ 'ide.chat.help.tipSlash': '• برای مرور هر دستور بالا، / را تایپ کنید.',
409
+ 'ide.chat.help.tipSpecific': '• دقیق باشید — «افزودن صفحه ورود با ایمیل/رمز عبور و Google OAuth» از «افزودن احراز هویت» بهتر است.',
410
+ 'ide.chat.help.tipUndo': '• اگر آخرین نوبت هوش مصنوعی از مسیر خود خارج شد، برای برگرداندن تغییرات فایل از /undo استفاده کنید.',
418
411
  'ide.chat.help.tipsHeading': '── Tips ──',
419
412
  'ide.chat.report.heading': 'Report a bug',
420
413
  'ide.chat.report.openReport': 'Report a bug',
421
- 'ide.chat.report.subheading': 'Tell us what went wrong or what you’d like to see. Goes to {{productName}}’s team.',
414
+ 'ide.chat.report.subheading': 'به ما بگویید چه مشکلی پیش آمده یا چه چیزی را دوست دارید ببینید. به تیم {{productName}} می‌رود.',
422
415
  'ide.chat.report.titleLabel': 'Title',
423
416
  'ide.chat.report.titlePlaceholder': 'Brief summary',
424
417
  'ide.chat.report.descriptionLabel': 'Description',
425
- 'ide.chat.report.descriptionPlaceholder': 'What happened? What did you expect?',
426
- 'ide.chat.report.stepsLabel': 'Steps to reproduce (optional)',
418
+ 'ide.chat.report.descriptionPlaceholder': 'چه اتفاقی افتاد؟ چه انتظاری داشتید؟',
419
+ 'ide.chat.report.stepsLabel': 'مراحل تکثیر (اختیاری)',
427
420
  'ide.chat.report.stepsPlaceholder': '1. …\n2. …',
428
- 'ide.chat.report.includeChat': 'Include recent chat for context',
421
+ 'ide.chat.report.includeChat': 'چت اخیر را برای زمینه اضافه کنید',
429
422
  'ide.chat.report.submit': 'Submit report',
430
423
  'ide.chat.report.submitting': 'Submitting…',
431
- 'ide.chat.report.error': 'Could not submit your report. Please try again.',
424
+ 'ide.chat.report.error': 'گزارش شما ارسال نشد. لطفا دوباره امتحان کنید.',
432
425
  'ide.chat.report.viewIssue': 'View issue',
433
426
  'ide.chat.scripts.heading': 'Scripts',
434
427
  'ide.chat.scripts.new': 'New script',
435
428
  'ide.chat.scripts.cancelNew': 'Cancel',
436
- 'ide.chat.scripts.namePlaceholder': 'Script name (e.g. run-tests)',
437
- 'ide.chat.scripts.descriptionPlaceholder': 'What does it do?',
429
+ 'ide.chat.scripts.namePlaceholder': 'نام اسکریپت (مثلاً run-tests)',
430
+ 'ide.chat.scripts.descriptionPlaceholder': 'چه کاری انجام می‌دهد؟',
438
431
  'ide.chat.scripts.bodyPlaceholder': '#!/bin/sh\nnpm test',
439
432
  'ide.chat.scripts.searchPlaceholder': 'Filter scripts…',
440
433
  'ide.chat.scripts.save': 'Save script',
441
434
  'ide.chat.scripts.saving': 'Saving…',
442
- 'ide.chat.scripts.saveError': 'Could not save the script. Please try again.',
443
- 'ide.chat.scripts.invalid': 'A script needs a name and a non-empty body.',
444
- 'ide.chat.scripts.empty': 'No saved scripts yet. Create one above, or ask {{agentName}} to write and save one.',
435
+ 'ide.chat.scripts.saveError': 'اسکریپت ذخیره نشد. لطفا دوباره امتحان کنید.',
436
+ 'ide.chat.scripts.invalid': 'یک اسکریپت به یک نام و یک بدنه غیر خالی نیاز دارد.',
437
+ 'ide.chat.scripts.empty': 'هنوز اسکریپتی ذخیره نشده است. یکی در بالا ایجاد کنید، یا از {{agentName}} بخواهید که یکی بنویسد و ذخیره کند.',
445
438
  'ide.chat.scripts.loading': 'Loading scripts…',
446
- 'ide.chat.scripts.error': 'Could not load scripts for this project.',
447
- 'ide.chat.scripts.noMatch': 'No scripts match “{{query}}”.',
439
+ 'ide.chat.scripts.error': 'اسکریپت‌های این پروژه قابل بارگذاری نیستند.',
440
+ 'ide.chat.scripts.noMatch': 'هیچ اسکریپتی با « {{query}} » مطابقت ندارد.',
448
441
  'ide.chat.scripts.run': 'Run',
449
- 'ide.chat.scripts.runTitle': 'Run this script in the sandbox',
442
+ 'ide.chat.scripts.runTitle': 'این اسکریپت را در sandbox اجرا کنید',
450
443
  'ide.chat.scripts.running': 'Running…',
451
- 'ide.chat.scripts.runError': 'Failed to run the script.',
452
- 'ide.chat.scripts.runNone': 'No saved scripts yet. Open /scripts to create one.',
453
- 'ide.chat.scripts.runNotFound': 'No script named “{{name}}”. Available: {{names}}',
444
+ 'ide.chat.scripts.runError': 'اجرای اسکریپت ناموفق بود.',
445
+ 'ide.chat.scripts.runNone': 'هنوز اسکریپتی ذخیره نشده است. برای ایجاد آن، /scripts باز کنید.',
446
+ 'ide.chat.scripts.runNotFound': 'اسکریپتی با نام « {{name}} » وجود ندارد. موجود: {{names}}',
454
447
  'ide.chat.scripts.runUsage': 'Usage: /run <name> — run a saved script. Use /scripts to see them.',
455
448
  'ide.chat.scripts.cmdExitOk': '{{name}} exited 0',
456
- 'ide.chat.scripts.cmdExitFail': '{{name}} exited with code {{code}}',
449
+ 'ide.chat.scripts.cmdExitFail': '{{name}} با کد {{code}} خارج شد',
457
450
  'ide.chat.scripts.exitOk': 'Exited 0',
458
451
  'ide.chat.scripts.exitFail': 'Exited {{code}}',
459
452
  'ide.chat.scripts.noOutput': '(no output)',
@@ -466,28 +459,28 @@ export const fa = {
466
459
  'ide.chat.settings.modelUnset': 'Not set',
467
460
  'ide.chat.settings.off': 'Off',
468
461
  'ide.chat.settings.on': 'On',
469
- 'ide.chat.settings.soundsSummary': '{{enabled}} of {{total}} events enabled',
462
+ 'ide.chat.settings.soundsSummary': '{{enabled}} از {{total}} رویدادهای فعال شده',
470
463
  'ide.chat.share.heading': 'Share project',
471
464
  'ide.chat.share.loading': 'Loading…',
472
- 'ide.chat.share.none': 'No public link yet.',
473
- 'ide.chat.share.copyHint': 'Click to copy',
465
+ 'ide.chat.share.none': 'هنوز لینک عمومی وجود ندارد.',
466
+ 'ide.chat.share.copyHint': 'برای کپی کردن کلیک کنید',
474
467
  'ide.chat.share.revoke': 'Revoke',
475
468
  'ide.chat.share.revoking': 'Revoking…',
476
- 'ide.chat.share.revokeFailed': 'Could not revoke that link. Please try again.',
469
+ 'ide.chat.share.revokeFailed': 'نتوانستم آن لینک را لغو کنم. لطفاً دوباره امتحان کنید.',
477
470
  'ide.chat.share.openShare': 'Share project',
478
- 'ide.chat.share.subheading': 'Create a public link. Anyone with the link gets the role you choose — a viewer link is read-only.',
471
+ 'ide.chat.share.subheading': 'یک لینک عمومی ایجاد کنید. هر کسی که لینک را داشته باشد، نقشی را که شما انتخاب می‌کنید، دریافت می‌کند - لینک بیننده فقط قابل خواندن است.',
479
472
  'ide.chat.share.roleLabel': 'Role',
480
473
  'ide.chat.share.create': 'Create link',
481
474
  'ide.chat.share.creating': 'Creating…',
482
- 'ide.chat.share.created': 'Created a {{role}} share link.',
483
- 'ide.chat.share.createAnother': 'Create new link',
475
+ 'ide.chat.share.created': 'یک پیوند اشتراک‌گذاری {{role}} ایجاد شد.',
476
+ 'ide.chat.share.createAnother': 'ایجاد لینک جدید',
484
477
  'ide.chat.share.linkLabel': 'Public link',
485
478
  'ide.chat.share.copy': 'Copy link',
486
479
  'ide.chat.share.copyShort': 'Copy',
487
480
  'ide.chat.share.copied': 'Copied',
488
481
  'ide.chat.share.openLink': 'Open link',
489
- 'ide.chat.share.error': 'Could not create a share link. Please try again.',
490
- 'ide.chat.share.usage': 'Usage: /share [role] — create a public link. Roles: {{roles}} (default viewer).',
482
+ 'ide.chat.share.error': 'نتوانستم لینک اشتراک‌گذاری ایجاد کنم. لطفاً دوباره امتحان کنید.',
483
+ 'ide.chat.share.usage': 'کاربرد: /share [role] — ایجاد یک لینک عمومی. نقش‌ها: {{roles}} (نمایشگر پیش‌فرض).',
491
484
  'ide.chat.share.notAllowed': 'مدیریت پیوندهای اشتراک‌گذاری به نقش مدیر در این پروژه نیاز دارد.',
492
485
  'ide.chat.skills.heading': 'Skills',
493
486
  'ide.chat.skills.searchPlaceholder': 'Filter skills…',
@@ -495,9 +488,9 @@ export const fa = {
495
488
  'ide.chat.skills.loadTitle': 'Open in editor and attach as context',
496
489
  'ide.chat.skills.loaded': 'Loaded skill “{{name}}” — opened in the editor and attached as context for your next message.',
497
490
  'ide.chat.skills.loading': 'Loading skills…',
498
- 'ide.chat.skills.error': 'Could not load skills for this project.',
499
- 'ide.chat.skills.empty': 'No skills found in .agents/skills/ for this project.',
500
- 'ide.chat.skills.noMatch': 'No skills match “{{query}}”.',
491
+ 'ide.chat.skills.error': 'نتوانستم مهارت‌های این پروژه را بارگذاری کنم.',
492
+ 'ide.chat.skills.empty': 'هیچ مهارتی در .agents/skills/ برای این پروژه یافت نشد.',
493
+ 'ide.chat.skills.noMatch': 'هیچ مهارتی با « {{query}} » مطابقت ندارد.',
501
494
  'ide.chat.skills.relevant.label': 'Relevant skill',
502
495
  'ide.chat.skills.relevant.dismiss': 'Dismiss suggestion',
503
496
  'ide.chat.thoughtForSecond': 'Thought for 1 second',
@@ -517,56 +510,56 @@ export const fa = {
517
510
  'ide.chat.help.card.modesTitle': 'Modes',
518
511
  'ide.chat.help.card.tipsTitle': 'Tips',
519
512
  'ide.chat.help.card.usageHint': 'Usage: {{usage}} ([…] optional, <…> required)',
520
- 'ide.chat.report.failed': 'Could not submit your report. Please try again.',
521
- 'ide.chat.report.submitted': "Thanks! Your report was submitted to {{productName}}'s team.",
522
- 'ide.chat.report.submittedWithLink': 'Thanks! Your report was submitted — track it on the linked issue.',
523
- 'ide.chat.settings.modelFollowsDefault': 'Follows default model',
513
+ 'ide.chat.report.failed': 'گزارش شما ارسال نشد. لطفا دوباره امتحان کنید.',
514
+ 'ide.chat.report.submitted': 'متشکرم! گزارش شما به تیم {{productName}} ارسال شد.',
515
+ 'ide.chat.report.submittedWithLink': 'متشکرم! گزارش شما ارسال شد - آن را در شماره مرتبط پیگیری کنید.',
516
+ 'ide.chat.settings.modelFollowsDefault': 'از مدل پیش‌فرض پیروی می‌کند',
524
517
  'ide.chat.settings.modelDefaultFast': 'Fast default',
525
518
  'ide.chat.settings.modelDefaultNamed': 'Default ({{model}})',
526
519
  'ide.chat.settings.effortValue': 'plan: {{plan}} · execute: {{execute}}',
527
520
  'ide.resizeHandle.label': 'Resize panels',
528
521
  'ide.chat.settings.autoCommitEvery': 'Every {{seconds}}s',
529
- 'ide.chat.settings.hooksValue': 'In project settings',
522
+ 'ide.chat.settings.hooksValue': 'در تنظیمات پروژه',
530
523
  'ide.chat.skills.new': 'New skill',
531
- 'ide.chat.skills.newTitle': 'Create a new project skill',
532
- 'ide.chat.skills.newPlaceholder': 'New skill name…',
524
+ 'ide.chat.skills.newTitle': 'یک مهارت پروژه جدید ایجاد کنید',
525
+ 'ide.chat.skills.newPlaceholder': 'نام مهارت جدید…',
533
526
  'ide.chat.skills.create': 'Create',
534
527
  'ide.chat.skills.cancel': 'Cancel',
535
- 'ide.chat.skills.createError': 'Could not create the skill — please try again.',
536
- 'ide.chat.skills.created': 'Created skill “{{name}}” — opened in the editor. Fill in its description and steps.',
537
- 'ide.chat.autoCommit.on': 'Auto-commit on',
528
+ 'ide.chat.skills.createError': 'نتوانستم مهارت را ایجاد کنم — لطفاً دوباره امتحان کنید.',
529
+ 'ide.chat.skills.created': 'مهارت ایجاد شده با نام « {{name}} » — در ویرایشگر باز شد. توضیحات و مراحل آن را وارد کنید.',
530
+ 'ide.chat.autoCommit.on': 'انجام خودکار',
538
531
  'ide.chat.mention': 'Reference a file',
539
532
  'ide.chat.slashCommands': 'Slash commands',
540
533
  'ide.chat.skills.loadedPrefix': 'Loaded ',
541
534
  'ide.chat.skills.loadedSuffix': ' skill',
542
535
  'ide.chat.viewProfile': 'View profile',
543
- 'ide.preview.loadFailed': "Preview can't load here",
544
- 'ide.preview.loadFailedHint': 'Try reloading, or open the preview in a new tab.',
536
+ 'ide.preview.loadFailed': 'پیش‌نمایش اینجا بارگذاری نمی‌شود',
537
+ 'ide.preview.loadFailedHint': 'صفحه را دوباره بارگذاری کنید، یا پیش‌نمایش را در یک برگه جدید باز کنید.',
545
538
  'ide.preview.reloadPreview': 'Reload preview',
546
- 'ide.preview.lastWorkingFrame': 'Last working preview',
547
- 'ide.chat.effort.notSupportedForModel': "{{level}} isn't available for {{model}}. Available: {{levels}}",
539
+ 'ide.preview.lastWorkingFrame': 'آخرین پیش‌نمایش کاری',
540
+ 'ide.chat.effort.notSupportedForModel': '{{level}} برای {{model}} در دسترس نیست. موجود: {{levels}}',
548
541
  'ide.chat.modelSortLabel': 'Sort',
549
- 'ide.chat.modelSortDirection': 'Toggle sort direction',
542
+ 'ide.chat.modelSortDirection': 'تغییر جهت مرتب‌سازی',
550
543
  'ide.chat.skills.loadedBadge': 'Loaded',
551
544
  'ide.chat.skills.defaultBadge': 'Default',
552
- 'ide.chat.skills.setDefault': 'Load by default',
553
- 'ide.chat.skills.unsetDefault': 'Stop loading by default',
554
- 'ide.chat.skills.matchHint': 'Suggested from keywords in your recent messages',
545
+ 'ide.chat.skills.setDefault': 'بارگیری به صورت پیش‌فرض',
546
+ 'ide.chat.skills.unsetDefault': 'توقف بارگیری به صورت پیش‌فرض',
547
+ 'ide.chat.skills.matchHint': 'پیشنهاد شده از کلمات کلیدی در پیام‌های اخیر شما',
555
548
  'ide.device.select': 'Device frame',
556
549
  'ide.device.rotate': 'Rotate',
557
550
  'ide.chat.closeOverlay': 'Close',
558
- 'ide.chat.retryCountdown': 'Server error — retrying in {{seconds}}s… (attempt {{attempt}})',
559
- 'ide.preview.blankTitle': 'The preview is blank',
560
- '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.',
561
- 'ide.chat.previewLinkTitle': 'Open {{path}} in the preview',
562
- 'ide.chat.report.diagnosticsNote': 'Your app version, browser, and screen size are attached to help us debug.',
551
+ 'ide.chat.retryCountdown': 'خطای سرور — تلاش مجدد ظرف {{seconds}} ثانیه… (تلاش {{attempt}})',
552
+ 'ide.preview.blankTitle': 'پیش‌نمایش خالی است',
553
+ 'ide.preview.blankHint': 'برنامه بارگذاری شد اما چیزی رندر نکرد - ممکن است خطایی رخ داده باشد. به Synthase اطلاع داده شده است. می‌توانید آن را دوباره بارگیری کنید یا پیش‌نمایش را در یک برگه جدید باز کنید.',
554
+ 'ide.chat.previewLinkTitle': 'باز کردن {{path}} در پیش‌نمایش',
555
+ 'ide.chat.report.diagnosticsNote': 'نسخه برنامه، مرورگر و اندازه صفحه نمایش شما برای کمک به ما در اشکال‌زدایی پیوست شده‌اند.',
563
556
  'ide.chat.skills.loadedCount': '🧠 Loaded {{count}} skills',
564
- 'ide.chat.skills.waitingForSandbox': 'Waiting for the sandbox to finish starting…',
565
- 'ide.chat.skills.resetDefaults': 'Load all by default',
566
- 'ide.search.excludedDirs': 'Excluded folders (applies to all searches, including the agent)',
567
- 'ide.chat.costStreamingNote': 'Running total — includes the response currently streaming.',
557
+ 'ide.chat.skills.waitingForSandbox': 'منتظرم تا شروع سندباکس تمام شود…',
558
+ 'ide.chat.skills.resetDefaults': 'بارگیری همه به طور پیش‌فرض',
559
+ 'ide.search.excludedDirs': 'پوشه‌های مستثنی (برای همه جستجوها، از جمله جستجوکننده، اعمال می‌شود)',
560
+ 'ide.chat.costStreamingNote': 'مجموع در حال اجرا — شامل پاسخی است که در حال حاضر در حال پخش است.',
568
561
  'ide.toolCall.packageCount': '{{count}} packages',
569
- 'ide.toolCall.openPackageDoc': 'Open package docs',
562
+ 'ide.toolCall.openPackageDoc': 'اسناد بسته را باز کنید',
570
563
  'ide.chat.fastModeOn': 'حالت سریع روشن - پاسخ‌های سریع‌تر با نرخ بالاتر',
571
564
  'ide.chat.fastModeOff': 'حالت سریع خاموش',
572
565
  'ide.chat.fastModeEnable': 'حالت سریع - خروجی تا ۲.۵ برابر سریع‌تر با نرخ توکن بالاتر',
@@ -574,11 +567,11 @@ export const fa = {
574
567
  'ide.chat.scripts.runWithOptions': 'اجرا…',
575
568
  'ide.chat.scripts.required': '(الزامی)',
576
569
  'ide.chat.scripts.cancelRun': 'لغو',
577
- 'ide.chat.scripts.runNeedsOptions': '‏«{{name}}» به گزینه‌ها نیاز دارد — ‎/scripts باز شد تا آن‌ها را تنظیم کنید و اجرا نمایید.',
570
+ 'ide.chat.scripts.runNeedsOptions': '« {{name}} » به گزینه‌هایی نیاز دارد - باز شده /scripts تا بتوانید آنها را تنظیم و اجرا کنید.',
578
571
  'ide.chat.settings.effort.label': 'تلاش استدلالی',
579
572
  'ide.chat.timestampsShown': 'مهرهای زمانی نمایش داده شدند.',
580
573
  'ide.chat.timestampsHidden': 'مهرهای زمانی پنهان شدند.',
581
- 'ide.chat.timestampsUsage': 'Usage: /timestamps [on | off]',
574
+ 'ide.chat.timestampsUsage': 'کاربرد: /timestamps [on | off]',
582
575
  'ide.tests.testCount': '{{count}} آزمایش‌ها',
583
576
  'ide.tests.run': 'اجرا کنید',
584
577
  'ide.tests.runAll': 'همه را اجرا کنید',
@@ -603,16 +596,16 @@ export const fa = {
603
596
  'ide.tests.e2eHint': 'این موارد در مقابل پیش‌نمایش زنده اجرا می‌شوند، بنابراین پیش‌نمایش را باز نگه دارید.',
604
597
  'ide.tests.showOutput': 'نمایش خروجی',
605
598
  'ide.tests.hideOutput': 'خروجی را مخفی کنید',
606
- 'ide.testsBar.notRun_one': '{{count}} test not run yet',
607
- 'ide.testsBar.notRun_other': '{{count}} tests not run yet',
608
- 'ide.testsBar.counts': '{{passed}} passing, {{failed}} failing, {{skipped}} skipped',
609
- 'ide.testsBar.running': 'Running tests — {{remaining}} to go',
599
+ 'ide.testsBar.notRun_one': 'تست {{count}} هنوز اجرا نشده است',
600
+ 'ide.testsBar.notRun_other': 'هنوز {{count}} تست اجرا نشده است',
601
+ 'ide.testsBar.counts': '{{passed}} قبول، {{failed}} ناموفق، {{skipped}} رد شد',
602
+ 'ide.testsBar.running': 'اجرای تست‌ها — {{remaining}} برای ادامه',
610
603
  'ide.testsBar.runningLast': 'Running tests',
611
604
  'ide.testsBar.passing': 'All {{passed}} passing',
612
605
  'ide.testsBar.passingWithSkips': '{{passed}} passing, {{skipped}} skipped',
613
606
  'ide.testsBar.failing': '{{failed}} failing, {{passed}} passing',
614
- 'ide.testsBar.stopped': 'Test run stopped',
615
- 'ide.testsBar.error': 'Test run failed to finish',
607
+ 'ide.testsBar.stopped': 'اجرای آزمایشی متوقف شد',
608
+ 'ide.testsBar.error': 'اجرای آزمایشی به پایان نرسید',
616
609
  'ide.testsBar.passedLabel': 'passing',
617
610
  'ide.testsBar.failedLabel': 'failing',
618
611
  'ide.testsBar.skippedLabel': 'skipped',
@@ -620,8 +613,8 @@ export const fa = {
620
613
  'ide.testsBar.currentFile': 'Running {{file}}',
621
614
  'ide.testsBar.open': 'Tests',
622
615
  'ide.testsBar.stop': 'Stop',
623
- 'ide.chat.testsBarShown': 'Tests bar shown.',
624
- 'ide.chat.testsBarHidden': 'Tests bar hidden.',
616
+ 'ide.chat.testsBarShown': 'نوار تست نشان داده شده است.',
617
+ 'ide.chat.testsBarHidden': 'نوار تست پنهان شد.',
625
618
  'ide.toolCall.command': 'Command',
626
619
  'ide.toolCall.request': 'Request',
627
620
  'ide.toolCall.response': 'Response',
@@ -629,8 +622,8 @@ export const fa = {
629
622
  'ide.work.running': '{{count}} running',
630
623
  'ide.work.failed': '{{count}} failed',
631
624
  'ide.work.finished': '{{count}} done',
632
- 'ide.work.waiting': 'Waiting for your answer',
633
- 'ide.work.stopped': 'Stopped before finishing',
625
+ 'ide.work.waiting': 'منتظر جواب شما هستم',
626
+ 'ide.work.stopped': 'قبل از اتمام متوقف شد',
634
627
  'ide.tests.cancelled': 'دویدن متوقف شد.',
635
628
  'ide.tests.listError': 'نتوانستم آزمایش‌های این پروژه را فهرست کنم.',
636
629
  'ide.tests.runError': 'اجرای آزمایشی نتوانست شروع شود.',
@@ -660,7 +653,7 @@ export const fa = {
660
653
  'ide.chat.viaDictation.badge': 'دیکته شده با صدا',
661
654
  'ide.chat.inputLabel': 'یک پیام بنویسید',
662
655
  'ide.chat.messagesLabel': 'پیام‌های مکالمه',
663
- 'ide.chat.backgroundCancelled': '{{count}} background task cancelled',
656
+ 'ide.chat.backgroundCancelled': '{{count}} وظیفه پس‌زمینه لغو شد',
664
657
  'ide.chat.backgroundCancelledElapsed': 'cancelled · {{elapsed}}',
665
658
  'ide.chat.backgroundOutput': '{{count}} characters produced',
666
659
  'ide.work.cancelled': '{{count}} cancelled',
@@ -669,18 +662,18 @@ export const fa = {
669
662
  'ide.chat.context.target': 'Compaction target',
670
663
  'ide.chat.context.window': 'Context window',
671
664
  'ide.chat.context.indicator': '{{tokens}} / {{limit}} tokens · {{target}} ({{percent}}%)',
672
- 'ide.chat.context.targetHelp': 'Compaction is scheduled around this target; progress can continue while the summary is prepared.',
673
- 'ide.chat.context.actual': 'Provider-reported input: {{tokens}} tokens (including cached input).',
674
- 'ide.chat.context.pending': 'Provider usage is pending; current token counts are estimates.',
675
- 'ide.chat.context.estimate': 'Known text estimate: {{tokens}} tokens. Request: {{chars}} characters / {{bytes}} bytes. Shares describe estimated tokens, not billed allocation.',
676
- 'ide.chat.context.unknown': 'Some image, attachment, or unmeasurable content has an unknown token cost and is excluded from estimated shares.',
665
+ 'ide.chat.context.targetHelp': 'فشرده‌سازی حول این هدف برنامه‌ریزی شده است؛ پیشرفت می‌تواند در حین تهیه خلاصه ادامه یابد.',
666
+ 'ide.chat.context.actual': 'ورودی گزارش‌شده توسط ارائه‌دهنده: {{tokens}} توکن‌ها (شامل ورودی ذخیره‌شده در حافظه پنهان).',
667
+ 'ide.chat.context.pending': 'میزان استفاده از ارائه‌دهنده در حال بررسی است؛ تعداد فعلی توکن‌ها تخمینی است.',
668
+ 'ide.chat.context.estimate': 'تخمین متن شناخته‌شده: {{tokens}} توکن. درخواست: {{chars}} کاراکتر / {{bytes}} بایت. اشتراک‌ها، توکن‌های تخمینی را توصیف می‌کنند، نه تخصیص هزینه‌شده را.',
669
+ 'ide.chat.context.unknown': 'برخی از تصاویر، پیوست‌ها یا محتوای غیرقابل اندازه‌گیری، هزینه توکن نامشخصی دارند و از سهم‌های تخمینی حذف می‌شوند.',
677
670
  'ide.chat.context.breakdown': 'Request composition',
678
671
  'ide.chat.context.category': 'Category',
679
672
  'ide.chat.context.tokens': 'Est. tokens',
680
673
  'ide.chat.context.share': 'Share',
681
674
  'ide.chat.context.bytes': 'Bytes',
682
- 'ide.chat.context.history': 'Context over time · {{count}} requests',
683
- 'ide.chat.context.chart': 'Input tokens over time; dashed line marks the current target',
675
+ 'ide.chat.context.history': 'زمینه در طول زمان · {{count}} درخواست‌ها',
676
+ 'ide.chat.context.chart': 'توکن‌های ورودی در طول زمان؛ خط چین، هدف فعلی را نشان می‌دهد',
684
677
  'ide.chat.context.tokenUnit': 'tokens',
685
678
  'ide.chat.context.compactions': 'Completed compactions: {{count}}',
686
679
  'ide.chat.context.compaction': '{{at}} · {{before}} → {{after}} characters · {{seconds}}s',
@@ -718,5 +711,15 @@ export const fa = {
718
711
  'ide.chat.context.monthly': 'کمک هزینه ماهانه.',
719
712
  'ide.chat.context.daily': 'کمک هزینه روزانه.',
720
713
  'ide.chat.context.resets': '{{at}} را بازنشانی می‌کند.',
714
+ 'ide.error.noProvider': 'ارائه دهنده فضای کاری IDE پیکربندی نشده است. ابتدا یک ارائه دهنده IDE را متصل کنید.',
715
+ 'ide.chat.tip.plan': 'نکته: از /plan استفاده کنید تا {{agentName}} قبل از ویرایش هر فایلی، تحقیق کند و طرحی پیشنهاد دهد.',
716
+ 'ide.chat.compacted': 'پیام‌های فشرده {{count}} .',
717
+ 'ide.chat.models.usageRateMultiplier': '× {{rate}}',
718
+ 'ide.chat.undoComplete': '{{count}} فایل(های) مربوط به آخرین نوبت هوش مصنوعی را واگردانی کرد.',
719
+ 'ide.chat.autoFixCountdown': 'اصلاح خودکار در {{seconds}} ثانیه...',
720
+ 'ide.chat.version': '{{productName}} در مقابل {{version}}',
721
+ 'ide.search.replaceConfirmation': 'آیا {{count}} تکرار در فایل‌های {{files}} جایگزین شود؟',
722
+ 'ide.chat.voice': 'دیکته کردن',
723
+ 'ide.chat.voiceStop': 'دیکته را متوقف کنید',
721
724
  };
722
725
  //# sourceMappingURL=fa.js.map