fix(quotas): unifier le décompte IA (BYOK, rollback) et combler les fuites
All checks were successful
CI / Lint, Unit Tests & Build (push) Successful in 6m55s
CI / Deploy production (on server) (push) Successful in 36s

Centralise la réserve via ai-quota, corrige admin unavailable (-1), brancher les routes sans quota et le host-pays brainstorm, avec usage-meter élargi, noms de clusters, MCP et ajustements dashboard/insights.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Antigravity
2026-07-15 20:42:25 +00:00
parent 30da592ba2
commit 4fe31ebc99
75 changed files with 2949 additions and 785 deletions

View File

@@ -1753,6 +1753,8 @@
"mcpSettings": {
"title": "MCP",
"description": "مدیریت کلیدهای API و پیکربندی ابزارهای خارجی",
"tierRequired": "فقط Pro+",
"upgradeHint": "دسترسی به MCP (کلیدهای API برای Cursor، Claude Desktop و غیره) نیاز به طرح Pro یا بالاتر دارد. برای فعال کردن این قابلیت، در بخش صورتحساب ارتقا دهید.",
"whatIsMcp": {
"title": "MCP چیست؟",
"description": "پروتکل زمینه مدل (MCP) یک پروتکل باز است که به مدل‌های هوش مصنوعی امکان تعامل امن با ابزارها و منابع داده خارجی را می‌دهد. با MCP می‌توانید ابزارهایی مانند Claude Code، Cursor یا N8N را به نمونه Memento خود متصل کنید تا یادداشت‌های خود را به صورت برنامه‌نویسی بخوانید، ایجاد کنید و سازماندهی کنید.",
@@ -1778,7 +1780,12 @@
"lastUsed": "آخرین استفاده",
"never": "هرگز",
"confirmRevoke": "آیا مطمئن هستید که می‌خواهید این کلید را لغو کنید؟ ابزارهایی که از آن استفاده می‌کنند دسترسی خود را از دست می‌دهند.",
"confirmDelete": "آیا مطمئن هستید که می‌خواهید این کلید را برای همیشه حذف کنید؟"
"confirmDelete": "آیا مطمئن هستید که می‌خواهید این کلید را برای همیشه حذف کنید؟",
"errors": {
"generate": "تولید کلید ناموفق بود",
"revoke": "ابطال کلید ناموفق بود",
"delete": "حذف کلید ناموفق بود"
}
},
"createDialog": {
"title": "ایجاد کلید API",
@@ -1808,6 +1815,15 @@
"title": "N8N",
"description": "از این اعتبارنامه‌ها در گره N8N MCP خود استفاده کنید:"
}
},
"helpBox": {
"title": "MCP (Model Context Protocol) چیست؟",
"step1": "MCP یک پروتکل است که به عامل‌های هوش مصنوعی Memento اجازه می‌دهد به ابزارهای خارجی (پایگاه داده، API، فایل‌ها و غیره) متصل شوند.",
"step2": "Memento یک سرور MCP با ۲۲ ابزار ارائه می‌دهد — عامل‌های شما می‌توانند یادداشت بخوانید/ایجاد کنید، در پایگاه داده جستجو کنید، دفترچه‌ها را مدیریت کنید و غیره.",
"step3": "اینجا یک کلید API ایجاد کنید، سپس آن را در کلاینت MCP خود (Claude Desktop، Cursor، Continue.dev…) با URL سرور پیکربندی کنید.",
"step4": "فرمت پیکربندی: URL سرور MCP + کلید شما در هدر Authorization.",
"step4Link": "مستندات MCP",
"step5": "کاربرد: از Claude Desktop بخواهید یک یادداشت در Memento بنویسد، در دفترچه‌های شما جستجو کند یا یک عامل ایجاد کند."
}
},
"agents": {
@@ -2539,7 +2555,23 @@
"instantActivation": "فعال‌سازی فوری",
"secureDesc": "پرداخت امن از طریق Stripe",
"secureTransactions": "تراکنش‌های امن",
"satisfactionGuarantee": "ضمان بازگشت 30 روزه"
"satisfactionGuarantee": "ضمان بازگشت 30 روزه",
"cancelConfirm": "آیا مطمئن هستید که می‌خواهید اشتراک خود را لغو کنید؟ تا پایان دوره صورت‌حساب جاری، دسترسی Pro/Business خود را حفظ خواهید کرد.",
"cancelSuccess": "اشتراک شما با موفقیت لغو شد. در پایان دوره صورت‌حساب جاری به پایان خواهد رسید.",
"invoices": "فاکتورها و رسیدها",
"invoiceAmount": "مبلغ",
"invoiceDate": "تاریخ",
"invoiceNumber": "شماره",
"invoiceStatus": "وضعیت",
"noInvoices": "هیچ فاکتوری موجود نیست.",
"checkoutFailed": "شروع پرداخت ناموفق بود. دوباره تلاش کنید.",
"portalFailed": "باز کردن پورتال صورتحساب ناموفق بود.",
"cancelFailed": "لغو اشتراک ناموفق بود.",
"downloadPdf": "دانلود PDF",
"fetchStatusFailed": "دریافت وضعیت صورتحساب ناموفق بود",
"fetchQuotasFailed": "دریافت سهمیه‌ها ناموفق بود",
"fetchInvoicesFailed": "بارگذاری تاریخچه صورتحساب ناموفق بود.",
"savePercent": "~۱۷٪ صرفه‌جویی"
},
"landing": {
"nav": {
@@ -3068,5 +3100,13 @@
"hintNavigate": "پیمایش",
"hintOpen": "باز کردن",
"hintClose": "بستن"
},
"quotaPaywall": {
"title": "محدودیت ماهانه رسید",
"description": "شما تمام اعتبار {feature} خود را برای این ماه مصرف کرده‌اید.",
"upgrade": "ارتقای طرح",
"useOwnKey": "از کلید API خود استفاده کنید",
"later": "شاید بعداً",
"closingIn": "بستن در {n}ثانیه"
}
}