Files
Auto-Trader/frontend/src/i18n/locales/ar.json
T
Haozhe Wu 6000b3e61d
Desktop Windows / package (push) Waiting to run
Build and Push Docker Image / validate-build (push) Waiting to run
Build and Push Docker Image / build-and-push (push) Skipped
CI / Hash lock / macOS ARM64 (push) Waiting to run
CI / Hash lock / Linux x64 (push) Waiting to run
CI / Hash lock / Windows x64 (push) Waiting to run
CI / test / Python 3.11 (push) Waiting to run
CI / test / Python 3.14 (push) Waiting to run
CI / frontend (push) Waiting to run
CI / Windows 11 ARM64 / Python 3.14 background lifecycle (push) Waiting to run
CI / Windows Server 2025 x64 / Python 3.14 background lifecycle (push) Waiting to run
CI / Windows desktop source lifecycle (push) Waiting to run
feat(ui): Argentina is a market in the Web UI too, with the two suffixes that were already missing (#1543)
#1543 added the backend routing only, and a market here is full-stack: the
Settings source-priority list would have shown Argentina as a raw i18n key, and
a .BA position would have been grouped as "other" in a run's positions tab.
Both gaps already existed for the markets that landed earlier, so this closes
the class rather than the instance:

- `positions.ts`: `ar_equity` / `uk_equity` / `vietnam_equity` join `AssetClass`
  and the suffix map gets BA / L / VN. PositionsTab's label map is
  `satisfies Record<AssetClass, string>`, so tsc now demands a key per class.
- `api.ts`: `SectorAssetClass` is what `_detect_market` can return over the
  sector endpoint; it was missing those three and `index`.
- `SourcePrioritySettings`: labels for `ar_equity`, `uk_equity` and `index`
  (the last two have been falling back to their raw key).
- Six new keys across all nine locales.
- `EnvConfig.data` gains `MARKET_DATA_ORDER_AR_EQUITY` / `_UK_EQUITY`, and the
  test that guarded that block now derives the market list from
  `FALLBACK_CHAINS` instead of hand-listing it -- the hand list is why
  uk_equity never had a typed field.

Frontend: 656 tests pass, `tsc -b` clean.
2026-09-23 11:47:12 +08:00

1786 lines
110 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"app": {
"version": "v0.1.15"
},
"layout": {
"home": "الرئيسية",
"agent": "الوكيل",
"runtime": "مراقبة التداول",
"scheduled": "المجدولة",
"reports": "التقارير",
"portfolio": "المحفظة",
"alphaZoo": "مكتبة ألفا",
"settings": "الإعدادات",
"correlation": "مصفوفة الارتباط",
"optionsLab": "مختبر الخيارات",
"sessions": "الجلسات",
"newChat": "محادثة جديدة",
"noSessions": "لا توجد محادثات بعد — اضغط + لبدء محادثة",
"confirm": "تأكيد",
"cancel": "إلغاء",
"rename": "إعادة تسمية",
"delete": "حذف",
"light": "فاتح",
"dark": "داكن",
"language": "اللغة",
"collapse": "طي",
"expand": "توسيع",
"skipToMain": "تخطَّ إلى المحتوى الرئيسي",
"sidebar": "الشريط الجانبي لـ Vibe-Trading",
"mainNavigation": "التنقل الرئيسي",
"about": "حول"
},
"runtime": {
"monitorBadge": "مراقبة التداول",
"title": "حالة التشغيل الحي / الورقي",
"subtitlePre": "حالة للقراءة فقط من",
"subtitlePost": ". لا تُصرح هذه الصفحة للموصلات، ولا تُشغّل المُشغّلات أو تُوقفها، ولا تُرسل أوامر أو تلغيها، ولا تُغيّر التفويض.",
"refresh": "تحديث",
"unavailableTitle": "حالة التشغيل غير متاحة",
"unavailableHint": "اعتبر وقت تشغيل الموصل غير متاح حتى يوفّر الخادم لقطة حالة حالية.",
"statusUnavailable": "حالة التشغيل غير متاحة.",
"globalHalt": "إيقاف شامل",
"halted": "موقوف",
"clear": "مسح",
"brokers": "الوسطاء",
"authorized": "مُصادَق",
"runners": "المُشغّلات",
"running": "{{count}} قيد التشغيل",
"noProfilesTitle": "لم يتم الإبلاغ عن أي ملفات تعريف للموصلات",
"noProfilesBody": "لم يُرجع الخادم أي ملفات تعريف وسيط حي أو ورقي معروفة.",
"authPresent": "المصادقة موجودة",
"authMissing": "المصادقة مفقودة",
"runnerAlive": "المُشغّل نشط",
"runnerStopped": "المُشغّل متوقف",
"haltedPill": "موقوف",
"recognizedProfile": "ملف تعريف الموصل المعروف",
"unknownProfile": "ملف تعريف موصل غير معروف",
"lastTick": "آخر تحديث",
"authorization": "التفويض",
"oauthToken": "رمز OAuth",
"present": "موجود",
"missing": "مفقود",
"profileType": "نوع ملف التعريف",
"recognized": "معروف",
"unknown": "غير معروف",
"mandate": "التفويض",
"account": "الحساب",
"unrecorded": "غير مسجّل",
"expiry": "تاريخ الانتهاء",
"expired": "منتهي الصلاحية",
"limits": "الحدود",
"noMandate": "لم يتم الإبلاغ عن أي تفويض نشط.",
"riskStateTitle": "حالة مخاطر التشغيل",
"riskHalted": "المخاطر موقوفة",
"riskHaltedDesc": "تم تشغيل قاطع الخطر لملف التعريف هذا. اعتبر وقت تشغيل الموصل متوقفًا حتى تُمسح الحالة.",
"riskActive": "قيد التشغيل",
"riskActiveDesc": "المُشغّل نشط ويوجد تفويض غير منتهي الصلاحية. تظل هذه الصفحة للقراءة فقط.",
"riskIdle": "جاهز لكن خامل",
"riskIdleDesc": "التفويض والصلاحية موجودان، لكن المُشغّل ليس نشطًا.",
"riskDormant": "خامل",
"riskDormantDesc": "وقت تشغيل الموصل ليس جاهزًا للعمل المستقل بسبب نقص التفويض أو الصلاحية أو نشاط المُشغّل.",
"limitsUnavailable": "الحدود غير متاحة",
"perOrder": "/أمر",
"exposure": "التعرّض",
"perDay": "/يوم",
"leverageSuffix": "ضعف الرافعة",
"never": "أبدًا",
"ago": "منذ",
"notConfigured": "غير مُعَدّ",
"readyToVerify": "جاهز للتحقق",
"connectedReadOnly": "متصل · للقراءة فقط",
"connectionFailed": "فشل الاتصال",
"verifyConnection": "التحقق من الاتصال",
"retry": "إعادة المحاولة",
"credentialSource": "مصدر بيانات الاعتماد",
"sdk": "SDK",
"configDeclared": "مُعلَن في الإعدادات",
"connectorStatusUnavailable": "الحالة غير متاحة",
"connectedAccessUnknown": "متصل · صلاحية الوصول غير معروفة",
"missingLongbridgeVariables": "الإعدادات ناقصة. اضبط المتغيرات التالية في agent/.env، ثم أعد إنشاء الخدمة:",
"missingEtoroVariables": "الإعدادات ناقصة. اضبط متغيرات البيئة التالية أو أنشئ ~/.vibe-trading/etoro.json:",
"missingEtoroFileHint": "مثال: {\"api_key\": \"YOUR_PUBLIC_API_KEY\", \"user_key\": \"YOUR_USER_KEY\", \"profile\": \"live-readonly\"}. الملفات: etoro-paper-sdk، etoro-live-sdk-readonly، etoro-paper-trade، etoro-live-trade.",
"missingConnectorVariables": "الإعدادات ناقصة. اضبط بيانات اعتماد الموصل في ~/.vibe-trading/ أو agent/.env ثم تحقق من الاتصال.",
"pathSeparatedKeyBound": "مسارات منفصلة للتجريبي/الحقيقي (مفتاح مشترك)",
"sdkConnectorProfile": "اتصال مباشر عبر SDK · ملف تعريف للقراءة فقط",
"connectionDetails": "تفاصيل الاتصال",
"environment": "البيئة",
"environmentIdentity": "البيئة المُعلنة",
"capabilities": "الإمكانات",
"capabilityAccount": "الحساب",
"capabilityPositions": "المراكز",
"capabilityOpenOrders": "الأوامر المفتوحة",
"capabilityQuotes": "الأسعار",
"capabilityHistory": "السجل",
"readOnly": "للقراءة فقط",
"accessUnknown": "صلاحية الوصول غير معروفة",
"diagnostics": "التشخيصات",
"lastChecked": "آخر تحقق",
"errorCode": "رمز الخطأ",
"installed": "مثبّت",
"notInstalled": "غير مثبّت",
"connectorVerifyFailed": "فشل التحقق من الاتصال.",
"diagnosticCredentialsPartial": "بيانات الاعتماد غير مكتملة. اضبط جميع المتغيرات المطلوبة، ثم أعد إنشاء الخدمة.",
"diagnosticCredentialsConflict": "تتعارض مصادر بيانات الاعتماد. احتفظ بمصدر واحد مكتمل، ثم أعد المحاولة.",
"diagnosticSdkMissing": "حزمة SDK المطلوبة لهذا الوسيط غير مثبّتة في خدمة الخادم.",
"diagnosticAuthenticationFailed": "فشلت المصادقة. تحقق من بيانات الاعتماد المضبوطة.",
"diagnosticNetworkUnreachable": "يتعذر الوصول إلى خدمة الوسيط أو البوابة المحلية. تحقق من عنوان الاتصال واتصال الشبكة، ثم أعد المحاولة.",
"diagnosticBrokerError": "رفض الوسيط طلب التحقق المخصص للقراءة فقط. أعد المحاولة أو راجع سجلات الخادم."
},
"scheduled": {
"title": "الأبحاث المجدولة",
"subtitle": "تشغيل دوري وفق توقيتك المحلي — يبقى الإيقاع ثابتًا عبر تغييرات التوقيت الصيفي.",
"promptLabel": "موجّه البحث",
"promptPlaceholder": "مثال: مسح ما قبل الافتتاح: رتّب أحجام التداول غير المعتادة أمس ولخّص أخبار الليل",
"modeLabel": "إيقاع التشغيل",
"modeTime": "في وقت محدد يوميًا",
"modeAdvanced": "متقدم (cron أو فاصل زمني)",
"timeLabel": "الوقت المحلي",
"daysLabel": "الأيام",
"daysWeekdays": "أيام العمل (الاثنين–الجمعة)",
"daysEveryDay": "كل يوم",
"scheduleLabel": "تعبير الجدولة",
"advancedHint": "تعبير cron من 5 حقول يُقيّم في المنطقة الزمنية المحددة (دقيقة ساعة يوم شهر يوم-أسبوع؛ تُدعم القوائم والنطاقات)، أو فاصل زمني بالمللي ثانية.",
"timezoneLabel": "المنطقة الزمنية",
"create": "إنشاء جدولة",
"promptRequired": "أدخل موجّه البحث قبل إنشاء الجدولة.",
"invalidTime": "أدخل وقتًا صالحًا بصيغة HH:MM.",
"executorHint": "تُنفّذ المهام فقط عندما يعمل الخادم مع تفعيل VIBE_TRADING_ENABLE_SCHEDULER.",
"listTitle": "المهام المجدولة",
"loading": "جارٍ تحميل المهام المجدولة…",
"retry": "إعادة المحاولة",
"empty": "لا توجد مهام مجدولة بعد — أنشئ واحدة أعلاه.",
"cadenceEvery": "كل {{interval}}",
"cadenceDaily": "يوميًا في {{time}}",
"cadenceWeekly": "{{days}} في {{time}}",
"statusPending": "قيد الانتظار",
"statusRunning": "قيد التشغيل",
"statusCompleted": "مكتمل",
"statusFailed": "فشل",
"statusCancelled": "أُلغي",
"statusExpired": "منتهي الصلاحية",
"noFurtherRuns": "لا توجد عمليات تشغيل أخرى",
"endsAt": "ينتهي في {{when}}",
"proposalCreateTitle": "تأكيد البحث المجدول · إنشاء",
"proposalCancelTitle": "تأكيد البحث المجدول · إلغاء",
"proposalConfirmed": "تم التأكيد",
"proposalDiscarded": "تم التجاهل",
"proposalExpired": "منتهي الصلاحية",
"proposalCadence": "وتيرة التشغيل",
"proposalTimezone": "المنطقة الزمنية",
"proposalEndAt": "وقت الانتهاء",
"proposalNoEnd": "لا يوجد",
"proposalDelivery": "تسليم النتيجة",
"proposalInApp": "داخل التطبيق فقط",
"proposalDiscard": "تجاهل",
"proposalConfirmCreate": "تأكيد الإنشاء",
"proposalConfirmCancel": "تأكيد الإلغاء",
"nextRun": "التشغيل التالي: {{when}}",
"lastError": "آخر خطأ: {{error}}",
"delete": "حذف",
"deleteAria": "حذف المهمة المجدولة: {{prompt}}",
"confirmDelete": "تأكيد الحذف",
"confirmDeleteAria": "تأكيد حذف المهمة المجدولة: {{prompt}}",
"deliveryChannelLabel": "الإرسال إلى قناة",
"deliveryChannelPlaceholder": "telegram أو feishu … (اتركه فارغًا لإبقاء النتائج داخل التطبيق)",
"deliveryTargetLabel": "وجهة القناة",
"deliveryTargetPlaceholder": "معرّف محادثة / مجموعة / مستخدم",
"deliveryHint": "مُعطّل افتراضيًا. يُرسل الملخص **بعد انتهاء** التشغيل، لا عند جدولته.",
"deliveryTargetRequired": "حدّد وجهة لهذه القناة أو أفرغ حقل القناة.",
"delivery_none": "سيُرسل إلى {{channel}} بعد التشغيل القادم",
"delivery_pending": "الملخص بانتظار الإرسال إلى {{channel}}",
"delivery_sending": "جارٍ الإرسال إلى {{channel}}",
"delivery_accepted": "قَبِلَت {{channel}} الإرسال (من دون إيصال من المزوّد)",
"delivery_sent": "تم الإرسال إلى {{channel}}",
"delivery_failed": "تعذّر الإرسال إلى {{channel}}",
"verdictEmpty": "لا يوجد تقييم بعد",
"verdictUnreadable": "تعذر قراءة أحدث تقييم",
"verdictNoCalls": "لا إشارات",
"verdictDelta": "{{was}} ← {{now}}",
"verdictRecorded": "اعتبارًا من {{when}}"
},
"reports": {
"badge": "التقارير",
"title": "مكتبة تقارير الاختبار العكسي",
"subtitle": "تصفّح تقارير الاختبار العكسي التاريخية والمقاييس وتفاصيل التشغيل من مكان واحد.",
"refresh": "تحديث",
"searchPlaceholder": "ابحث في معرّف التشغيل أو المطالبة أو الرمز أو الحالة...",
"allStatuses": "كل الحالات",
"startDate": "تاريخ البدء",
"endDate": "تاريخ الانتهاء",
"sort": "ترتيب",
"sortNewest": "الأحدث أولاً",
"sortOldest": "الأقدم أولاً",
"sortReturn": "العائد من الأعلى إلى الأدنى",
"sortSharpe": "Sharpe من الأعلى إلى الأدنى",
"count": "{{shown}} من أصل {{total}} تقرير",
"unavailable": "مكتبة التقارير غير متاحة",
"loadError": "تعذّر تحميل التقارير.",
"emptyTitle": "لا توجد تقارير بعد",
"emptyBody": "أنشئ اختبارًا عكسيًا من الوكيل، ثم عُد هنا لمراجعته.",
"noMatchesTitle": "لا توجد تقارير مطابقة",
"noMatchesBody": "عدّل استعلام البحث أو فلتر الحالة أو النطاق الزمني.",
"noPrompt": "لم يتم تسجيل أي مطالبة.",
"to": "إلى",
"return": "العائد",
"sharpe": "Sharpe",
"fullReport": "التقرير الكامل",
"compare": "مقارنة",
"unknown": "غير معروف"
},
"connection": {
"reconnecting": "جارٍ إعادة الاتصال…",
"disconnected": "فُقد الاتصال. أعد تحميل الصفحة لاستعادة الاتصال.",
"reload": "إعادة التحميل"
},
"welcome": {
"categories": {
"multiMarketBacktest": "اختبار عكسي لأسهم A",
"researchAnalysis": "البحث والتحليل",
"swarmTeams": "فرق محللي الذكاء الاصطناعي",
"docWebResearch": "بحث المستندات والويب",
"tradeJournal": "يومية التداول",
"tradingConnectors": "موصلات التداول",
"shadowAccount": "الحساب الظلّي",
"valueInvesting": "استثمار القيمة"
},
"examples": {
"crossMarketPortfolio": "موازنة محفظة من ثلاثة أسهم",
"crossMarketPortfolioDesc": "وزّع الأموال على ثلاثة أسهم A بحيث يتحمل كل سهم المخاطر نفسها، ثم قارنها بالأوزان المتساوية",
"btcMacd": "استراتيجية MACD لأسهم A",
"btcMacdDesc": "اختبار عكسي لاستراتيجية MACD لأسهم A على مستوى الدقيقة",
"usTechMaxDiv": "توزيع المخاطر بين الأسهم القيادية",
"usTechMaxDivDesc": "وزّع أوزان خمسة أسهم قيادية بحيث لا يهيمن سهم واحد على المخاطر، باستخدام تحسين أقصى تنويع",
"multiFactorAlpha": "نموذج ألفا متعدد العوامل",
"multiFactorAlphaDesc": "ادمج أربع إشارات لاختيار الأسهم عبر 300 سهم، مع ترجيح كل إشارة وفق قدرتها السابقة على توقع العوائد (IC)",
"optionsGreeks": "فحص مخاطر الخيارات (Greeks)",
"optionsGreeksDesc": "سعّر الخيار، ثم افحص مدى تأثره بسعر السهم والوقت والتقلب عبر مؤشرات Greeks",
"valueCommittee": "لجنة استثمار القيمة",
"valueCommitteeDesc": "نقاش أربعة أساتذة حول سهم واحد: Buffett / Munger / Duan Yongping / Li Lu",
"valueCommitteePrompt": "استخدم run_swarm مع الإعداد المسبق value_investing_committee لتحليل Tencent (00700.HK): Buffett حول الخندق والسعر، Munger حول التفكير العكسي، Duan Yongping حول العمل والإدارة، Li Lu حول يقين 10 سنوات، ثم يلخّص الرئيس نقاط الاتفاق والتعارض",
"bottleneckHunter": "صياد اختناقات سلسلة الإمداد",
"bottleneckHunterDesc": "اعثر على الموردين الصغار الذين لا يستغني عنهم اتجاه كبير، ثم تحقق مما إذا كانت أسعارهم ما تزال جذابة",
"bottleneckHunterPrompt": "استخدم مهارة bottleneck-hunter للعثور على فرص اختناق Layer 2/3 في بنية الذكاء الاصطناعي (البصريات / الليزر / ركائز InP)، قيّم كل اختناق واسرد الشركات المرشحة التي تجتاز بوابة التقييم",
"thesisTracker": "متتبع أطروحة الاستثمار",
"thesisTrackerDesc": "دوّن سبب امتلاك السهم في خمس جمل، وحدد الخطوط الحمراء التي تستدعي البيع",
"thesisTrackerPrompt": "استخدم مهارة thesis-tracker لبناء أطروحة استثمارية لـ Kweichow Moutai (600519.SH): أطروحة أساسية من 5 جمل، افتراضات قابلة للدحض، خطوط حمراء، ومراسي تقييم، مع التحقق عبر financial_rigor",
"valuationCheck": "هل السهم مُقيَّم بأكثر من قيمته؟",
"valuationCheckDesc": "أعد حساب PE وPB وROE والقيمة السوقية بدقة، ثم اختبرها تحت ثلاثة سيناريوهات للنمو",
"valuationCheckPrompt": "استخدم أداة financial_rigor للتحقق من تقييم Kweichow Moutai: السعر 1500، EPS 68.6، القيمة الدفترية للسهم 180 — احسب PE وPB وROE بدقة، ثم تقييمًا بثلاثة سيناريوهات (نمو 12%/8%/0%، PE 22/18/14، 3 سنوات)",
"investmentCommittee": "شراء أم بيع؟ دع اللجنة تتناقش",
"investmentCommitteeDesc": "نقاش متعدد الوكلاء: شراء مقابل بيع، مراجعة المخاطر، قرار مدير المحفظة",
"quantStrategyDesk": "مكتب استراتيجية الكمّ",
"quantStrategyDeskDesc": "خط أنابيب: فرز → بحث عوامل → اختبار عكسي → تدقيق المخاطر",
"earningsReport": "تحليل ملف PDF لتقرير الأرباح",
"earningsReportDesc": "حمّل ملف PDF واسأل عن الأمور المالية",
"macroResearch": "بحث ويب: النظرة الكلية",
"macroResearchDesc": "تحليل الاقتصاد الكلي وتوقعات سوق أسهم A",
"analyzeBrokerExport": "تحليل تصدير الوسيط الخاص بي",
"analyzeBrokerExportDesc": "اقرأ ملفات Tonghuashun وEastmoney وFutu أو أي ملف CSV، وحلّل مدة الاحتفاظ ومعدل الربح ونسبة الربح إلى الخسارة ونمط أوقات التداول",
"diagnoseBehavior": "تشخيص تحيّزات سلوكي",
"diagnoseBehaviorDesc": "تأثير التصرّف، فرط التداول، مطاردة الزخم، التثبيت — الشدة + أدلة رقمية",
"checkConnector": "فحص الموصل المحدد",
"checkConnectorDesc": "سرد ملفات تعريف الموصل والتحقق من المحدد",
"analyzePortfolio": "تحليل محفظة الموصل",
"analyzePortfolioDesc": "قراءة ملخص الحساب والمراكز من الموصل المحدد",
"quoteTrend": "السعر والاتجاه",
"quoteTrendDesc": "جلب السعر بالإضافة إلى أحدث الأعمدة اليومية عبر الموصل المحدد",
"trainShadow": "تدريب الظلّ من اليوميات",
"trainShadowDesc": "استخراج قواعد استراتيجيتك من CSV الوسيط وحفظها كملف تعريف ظلّي",
"shadowDelta": "كم أترك على الطاولة؟",
"shadowDeltaDesc": "اختبار عكسي لاستراتيجية الظلّ وإرجاع الفرق مقابل الأرباح الفعلية",
"shadowReport": "إنشاء تقرير الظلّ",
"shadowReportDesc": "تقرير قابل للمشاركة من ثمانية أقسام يعرض منحنى قيمة الحساب والعائد المعدّل حسب المخاطر ومصادر كل ربح",
"crossMarketPortfolioPrompt": "ابنِ محفظة تكافؤ مخاطر مع 000001.SZ و600519.SH و000858.SZ، اختبر عكسيًا لعام 2024 كاملاً، وقارن بمؤشر الأوزان المتساوية",
"btcMacdPrompt": "اختبر استراتيجية MACD عكسيًا على أعمدة 5 دقائق لـ 000001.SZ: سريع=12، بطيء=26، إشارة=9، آخر 30 يومًا",
"usTechMaxDivPrompt": "اختبر عكسيًا محفظة التنويع الأقصى لـ 600519.SH و000858.SZ و601318.SH و000001.SZ و600036.SH لعام 2024 كاملاً",
"multiFactorAlphaPrompt": "ابنِ نموذج ألفا متعدد العوامل باستخدام الزخم والانعكاس والحجم والتذبذب على مكونات CSI 300 مع تركيب عوامل مرجّحة بـ IC، واختبر عكسيًا 2023-2024",
"optionsGreeksPrompt": "احسب Greeks للخيارات باستخدام Black-Scholes: فوري=100، سعر التنفيذ=105، معدل خالي من المخاطر=3%، تقلب=25%، انتهاء=90 يومًا، حلل Delta/Gamma/Theta/Vega",
"investmentCommitteePrompt": "[وضع فريق السرب] استخدم الإعداد المسبق investment_committee لتقييم ما إذا كنت ستشتري أو تبيع 600519.SH في ظل ظروف السوق الحالية",
"quantStrategyDeskPrompt": "[وضع فريق السرب] استخدم الإعداد المسبق quant_strategy_desk للعثور على أفضل استراتيجية زخم واختبارها عكسيًا على مكونات CSI 300",
"earningsReportPrompt": "لخّص المقاييس المالية الرئيسية والمخاطر والتوقعات من تقرير الأرباح المرفوع",
"macroResearchPrompt": "اقرأ أحدث تقرير للسياسة النقدية من البنك المركزي ولخّص تأثيره على سوق أسهم A",
"analyzeBrokerExportPrompt": "حلّل يومية التداول التي رفعتها للتو — ملف تعريف كامل مع إحصائيات الاحتفاظ ومعدل الفوز وأهم الرموز والتوزيع الساعي",
"diagnoseBehaviorPrompt": "شغّل 4 تشخيصات سلوكية على يومية التداول (التصرف، فرط التداول، المطاردة، التثبيت) وأخبرني أي تحيّز يضر بأرباحي أكثر",
"checkConnectorPrompt": "اعرض ملفات تعريف موصلات التداول الخاصة بي، وأظهر المحدّد، ثم افحص ذلك الموصل. إذا لم يكن جاهزًا، أخبرني بالضبط ما الخطوة المفقودة. لا تضع أو تعدّل أوامر.",
"analyzePortfolioPrompt": "استخدم ملف تعريف موصل التداول المحدد لتلخيص حسابي ومراكزى والتركيز والنقد ومخاطر المحفظة. لا تضع أو تعدّل أوامر.",
"quoteTrendPrompt": "استخدم موصل التداول المحدد لجلب سعر 600519.SH و30 عمودًا يوميًا، ثم لخّص السعر الحالي مقابل الاتجاه الأخير. اجعله للقراءة فقط.",
"trainShadowPrompt": "درّب حسابي الظلّي من يومية التداول التي رفعتها — اعرض القواعد المستخرجة وأكّد أنها تشبه سلوكي",
"shadowDeltaPrompt": "شغّل اختبارًا عكسيًا ظليًا لآخر 90 يومًا وحلّل أين انحرفت أرباحي عن الظلّ (انتهاكات القواعد، الخروج المبكر، إشارات مفقودة)",
"shadowReportPrompt": "اعرض تقرير الظلّ وأعطِني الرابط — ابدأ بفرق أرباحك مقابل الظلّ"
},
"taskSubtitle": "اسأل عن سهم أو استراتيجية أو محفظتك — سأجلب البيانات وأجري الحسابات وأعرض كل خطوة.",
"quickActions": "إجراءات سريعة",
"browseAllExamples": "تصفح جميع الأمثلة",
"greetings": {
"morning1": "صباح الخير.",
"morning2": "صباح الخير — جاهزون متى شئت.",
"morning3": "صباح الخير. لنبدأ.",
"afternoon1": "نهارك سعيد.",
"afternoon2": "هل أنت مستعد للسؤال التالي؟",
"afternoon3": "ماذا نستكشف بعد الظهر؟",
"evening1": "مساء الخير.",
"evening2": "لنفهم السوق معًا.",
"evening3": "هل نبدأ بحثًا مركزًا؟",
"night1": "ما زلت تفكر؟",
"night2": "لنرتب الأفكار معًا.",
"night3": "فكرة أخيرة قبل أن تختم يومك؟"
}
},
"settings": {
"title": "الإعدادات",
"authRequired": "المصادقة مطلوبة",
"authDesc": "أدخل مفتاح مصادقة API لفتح الإعدادات.",
"dataSources": "مصادر البيانات",
"llmBackend": "واجهة LLM الخلفية",
"save": "حفظ",
"saving": "جارٍ الحفظ…",
"saved": "تم حفظ الإعدادات",
"saveFailed": "فشل الحفظ",
"provider": "المزوّد",
"refresh": "تحديث",
"modelName": "اسم النموذج",
"baseUrl": "عنوان URL الأساسي",
"apiAuthKey": "مفتاح مصادقة API",
"loading": "جارٍ التحميل…",
"temperature": "درجة الحرارة",
"temperatureDesc": "يتحكم في عشوائية الإجابة. القيم المنخفضة أكثر ثباتًا، ويُفضّل 0–0.2 للتحليل المالي.",
"timeoutSeconds": "المهلة (ثوانٍ)",
"maxRetries": "الحد الأقصى للمحاولات",
"reasoningEffort": "جهد الاستدلال",
"providerDefault": "إعداد المزوّد الافتراضي",
"useDefaultModel": "استخدام النموذج الافتراضي",
"useDefaultUrl": "استخدام URL الافتراضي",
"dataSourcesDesc": "اضبط مصادر البيانات الخارجية لمحرك الاختبار العكسي.",
"tushareDesc": "بيانات تاريخية لأسهم A الصينية (يتطلب متغير بيئة TUSHARE_TOKEN).",
"baostockDesc": "بيانات أسهم A بديلة عبر بروتوكول TCP (لا حاجة لمفتاح API).",
"status": "الحالة",
"installed": "مُثبَّت",
"notInstalled": "غير مُثبَّت",
"token": "الرمز",
"tokenConfigured": "تم ضبط الرمز",
"tokenNotSet": "متغير بيئة TUSHARE_TOKEN غير مضبوط",
"apiTimeout": "مهلة طلب API",
"loaderAvailable": "المُحمِّل متاح",
"noProjectLoader": "لا يوجد محمِّل مشروع",
"pythonPackageInstalled": "حزمة Python مُثبَّتة",
"pythonPackageNotInstalled": "حزمة Python غير مُثبَّتة",
"off": "معطّل",
"reasoningEffortNone": "بدون (صريح)",
"reasoningEffortLow": "منخفض",
"reasoningEffortMedium": "متوسط",
"reasoningEffortHigh": "مرتفع",
"reasoningEffortMax": "أقصى",
"reasoningEffortDesc": "يتحكم في عمق الاستدلال للنماذج المدعومة. قد تحسن القيم الأعلى التحليل المعقد لكنها تستغرق وقتًا أطول، وقد يتجاهلها المزوّد غير المدعوم. يرسل «بدون (صريح)» الحقل مع تعطيل الاستدلال، وبعض طرازات OpenAI تحتاج ذلك لاستخدام الأدوات.",
"localApiAccess": "الوصول إلى API المحلي",
"localApiAccessDesc": "لعمليات نشر واجهة الويب عن بُعد أو الخاصة، أدخل مفتاح API الخادم مرة واحدة في هذا المتصفح. يمكن ترك الاستخدام المحلي فارغًا.",
"serverApiKey": "مفتاح API الخادم",
"storedInBrowser": "يُخزَّن في هذا المتصفح فقط. اتركه فارغًا لمسحه.",
"localApiKeySaved": "تم حفظ مفتاح API المحلي",
"subtitle": "اضبط بيانات اعتماد النموذج ورموز مصادر بيانات السوق لهذا المشروع المحلي.",
"unavailable": "الإعدادات غير متاحة",
"llmSettings": "إعدادات LLM",
"llmSettingsDesc": "اختر النموذج الذي يستخدمه الوكيل واحفظه في ملف agent/.env المحلي للمشروع.",
"connection": "الاتصال",
"model": "النموذج",
"useProviderDefaults": "استخدام الإعدادات الافتراضية للمزوّد",
"modelIdHint": "استخدم معرّف النموذج الدقيق المطلوب من قِبل المزوّد.",
"loadModels": "تحميل النماذج",
"modelsLoaded": "تم تحميل {{count}} نموذجًا متاحًا.",
"modelsLoadFailed": "تعذر تحميل قائمة نماذج المزوّد.",
"modelOptions": "النماذج المتاحة",
"modelDiscoveryOauthUnsupported": "لا يدعم طرف OAuth لهذا المزوّد اكتشاف النماذج.",
"modelDiscoveryApiKeyRequired": "أدخل مفتاح API لهذا المزوّد أو احفظه لتحميل النماذج المتاحة.",
"modelDiscoveryUnavailable": "لم يُرجع المزوّد قائمة نماذج. لا يزال بإمكانك إدخال معرّف نموذج دقيق.",
"modelPickerHint": "حمّل خيارات المزوّد أو اكتب معرّف نموذج مخصصًا بدقة.",
"clearApiKey": "مسح مفتاح API المحفوظ",
"channels": {
"title": "قنوات IM",
"description": "صل محولات الدردشة بنفس وقت تشغيل جلسات Vibe-Trading المستخدم في Web UI و CLI.",
"runtime": "وقت التشغيل",
"running": "قيد التشغيل",
"stopped": "متوقف",
"enabled": "مفعّل",
"disabled": "معطّل",
"loaded": "محمّل",
"notLoaded": "غير محمّل",
"unavailable": "غير متاح",
"channel": "القناة",
"state": "الحالة",
"recovery": "الاسترداد",
"noRecovery": "جاهز",
"refresh": "تحديث",
"start": "بدء القنوات",
"stop": "إيقاف القنوات",
"started": "تم بدء قنوات IM",
"stoppedToast": "تم إيقاف قنوات IM",
"refreshFailed": "فشل تحديث قنوات IM",
"startFailed": "فشل بدء قنوات IM",
"stopFailed": "فشل إيقاف قنوات IM",
"config": {
"toggleConfig": "تهيئة {{name}}",
"keepCurrent": "الإبقاء على القيمة الحالية ({{masked}})",
"secretNotSet": "غير مُعيّن",
"clearSecret": "مسح",
"required": "مطلوب",
"listPlaceholder": "اكتب قيمة واضغط Enter للإضافة",
"removeValue": "إزالة {{value}}",
"save": "حفظ الإعدادات",
"hotApply": "يُطبَّق الحفظ فورًا — دون حاجة إلى إعادة التشغيل.",
"saved": "تم حفظ إعدادات القناة",
"saveFailed": "تعذّر حفظ إعدادات القناة: {{message}}",
"test": "اختبار الاتصال",
"testing": "جارٍ الاختبار…",
"testOk": "تم التحقق من الاتصال",
"testFailed": "فشل اختبار الاتصال: {{message}}",
"testCodeOk": "قبل المزوّد بيانات الاعتماد هذه.",
"testCodeInvalidCredentials": "رفض المزوّد بيانات الاعتماد هذه.",
"testCodeNetwork": "تعذّر الوصول إلى المزوّد.",
"testCodeUnsupported": "هذه القناة لا تدعم اختبار الاتصال.",
"testedSavedConfig": "تم اختبار الإعدادات المحفوظة.",
"testedDraftConfig": "تم اختبار القيم الموجودة في النموذج (غير المحفوظة بعد).",
"enable": "تفعيل القناة",
"enableHint": "تعطيلها يحتفظ ببيانات الاعتماد المحفوظة — يمكنك إعادة التفعيل في أي وقت.",
"enabledToast": "تم تفعيل القناة",
"disabledToast": "تم تعطيل القناة",
"enableFailed": "تعذّر تفعيل القناة: {{message}}",
"disableFailed": "تعذّر تعطيل القناة: {{message}}",
"enableRejected": "رفض المزوّد بيانات الاعتماد هذه، لذا لم يتم تفعيل القناة.",
"enableRejectedDetail": "استجابة المزوّد: {{detail}}",
"enableAnyway": "التفعيل على أي حال",
"enableAnywayHint": "التفعيل على أي حال يتخطى التحقق من بيانات الاعتماد — قد لا تتمكن القناة من الاتصال.",
"notWritable": "إعدادات القناة محفوظة في ملف YAML ‏({{path}})، ولا يمكن تعديلها من واجهة الويب. حرّر الملف مباشرةً لتغيير بيانات الاعتماد.",
"notWritableChip": "للقراءة فقط (YAML)",
"sdkMissing": "حزمة التشغيل SDK غير مثبّتة — {{hint}}",
"sdkMissingNoHint": "حزمة التشغيل SDK غير مثبّتة؛ يمكن تهيئة القناة لكنها قد لا تبدأ.",
"noFields": "لا توجد حقول قابلة للتهيئة في هذه القناة.",
"loadFailed": "تعذّر تحميل إعدادات القناة."
},
"fields": {
"dingtalk": {
"client_id": {
"label": "Client ID (AppKey)",
"help": "مفتاح AppKey الخاص بالتطبيق من صفحة بيانات الاعتماد في وحدة تحكم مطوّري DingTalk."
},
"client_secret": {
"label": "Client Secret (AppSecret)",
"help": "سرّ التطبيق AppSecret. يُحفظ على الخادم ولا يُعاد إرساله إلى المتصفح."
},
"allow_from": {
"label": "المرسلون المسموحون",
"help": "قائمة اختيارية بمعرّفات مرسلي DingTalk المسموح لهم بالتفاعل مع الوكيل (\"*\" تسمح للجميع). المرسلون غير المقترنين يتلقون رمز اقتران في رسالة خاصة."
},
"allow_remote_media_redirects": {
"label": "السماح بإعادة توجيه الوسائط",
"help": "اتّباع إعادة توجيه المزوّد عند تنزيل وسائط الرسائل. معطّل افتراضيًا."
},
"remote_media_redirect_allowed_hosts": {
"label": "المضيفون المسموح بإعادة التوجيه إليهم",
"help": "المضيفون المسموح بها عند تفعيل إعادة توجيه الوسائط. القائمة الفارغة تحجب كل إعادة توجيه بين المضيفين."
},
"group_user_isolation": {
"label": "جلسة منفصلة لكل مستخدم في المجموعة",
"help": "منح كل عضو في محادثة المجموعة جلسة وكيل خاصة به بدلًا من جلسة مشتركة."
},
"force_ipv4": {
"label": "فرض IPv4",
"help": "يربط استدعاءات واجهة DingTalk بعنوان IPv4. مفيد عندما تحتوي قائمة عناوين IP المسموحة على عنوان IPv4 ثابت بينما تتغير بادئة IPv6 باستمرار."
}
},
"qq": {
"app_id": {
"label": "AppID",
"help": "معرّف AppID الخاص بالروبوت من إعدادات التطبيق في منصة QQ المفتوحة (q.qq.com)."
},
"secret": {
"label": "AppSecret",
"help": "سرّ الروبوت AppSecret. يُحفظ على الخادم ولا يُعاد إرساله إلى المتصفح."
},
"allow_from": {
"label": "المرسلون المسموحون",
"help": "قائمة اختيارية بمعرّفات openid لمرسلي QQ المسموح لهم بالتفاعل مع الوكيل (\"*\" تسمح للجميع). المرسلون غير المقترنين يتلقون رمز اقتران في رسالة خاصة."
},
"msg_format": {
"label": "تنسيق الرسالة",
"help": "تنسيق الرد: plain أو markdown."
},
"ack_message": {
"label": "رسالة الإقرار",
"help": "إقرار فوري يُرسل عند وصول رسالة. اتركه فارغًا لتعطيله."
},
"media_dir": {
"label": "دليل الوسائط",
"help": "مكان حفظ المرفقات الواردة. القيمة الفارغة تستخدم ~/.vibe-trading/media/qq."
},
"download_chunk_size": {
"label": "حجم كتلة التنزيل",
"help": "عدد البايتات لكل كتلة عند تنزيل المرفقات (الافتراضي 262144)."
},
"download_max_bytes": {
"label": "الحد الأقصى لحجم التنزيل (بايت)",
"help": "حدّ أمان لتنزيل مرفق واحد (الافتراضي 209715200 = 200 ميغابايت)."
}
}
},
"guides": {
"dingtalk": {
"title": "دليل إعداد DingTalk",
"intro": "تستخدم روبوتات DingTalk وضع Stream، لذا لا حاجة إلى عنوان URL عام للاستدعاء.",
"step1": "أنشئ تطبيقًا في وحدة تحكم مطوّري DingTalk ‏(open-dev.dingtalk.com).",
"step2": "أضف قدرة الروبوت إلى التطبيق وفعّل وضع Stream له.",
"step3": "انسخ AppKey الخاص بالتطبيق إلى Client ID وAppSecret إلى Client Secret.",
"step4": "انشر التطبيق ليتيح استخدامه داخل مؤسستك.",
"step5": "عد إلى هنا، وانقر على «اختبار الاتصال»، ثم فعّل القناة.",
"docsLabel": "فتح وحدة تحكم مطوّري DingTalk"
},
"qq": {
"title": "دليل إعداد QQ",
"intro": "تتصل روبوتات QQ عبر WebSocket باستخدام SDK الرسمي botpy، لذا لا حاجة إلى عنوان URL عام للاستدعاء.",
"step1": "سجّل في منصة QQ المفتوحة (q.qq.com) وأنشئ روبوتًا.",
"step2": "انسخ AppID وAppSecret من صفحة إعدادات تطوير الروبوت.",
"step3": "الصقهما في حقلي AppID وAppSecret أعلاه.",
"step4": "أضف الروبوت إلى مجموعة QQ أو تحدّث معه بشكل خاص، وفقًا لقواعد الصندوق الرملي/النشر الخاصة بالمنصة.",
"step5": "عد إلى هنا، وانقر على «اختبار الاتصال»، ثم فعّل القناة.",
"docsLabel": "فتح منصة QQ المفتوحة"
}
}
},
"generation": "إعدادات التوليد",
"dataSourceSettings": "إعدادات مصادر البيانات",
"dataSourceSettingsDesc": "اضبط بيانات اعتماد بيانات السوق الاختيارية المستخدمة في الاختبارات العكسية ووكلاء البحث.",
"sourcePriority": {
"title": "أولوية مصادر البيانات",
"description": "تحكّم بترتيب تجربة مصادر البيانات لكل سوق عندما يجلب الوكيل البيانات تلقائيًا. لا تتأثر المصادر المحددة صراحةً.",
"marketLabel": "السوق",
"badgeDefault": "افتراضي",
"badgeCustom": "مخصص",
"customMarkets": "مخصص · {{count}}",
"moveUp": "نقل لأعلى",
"moveDown": "نقل لأسفل",
"resetToDefault": "استعادة الافتراضي",
"invalidOverrideWarning": "القيمة المحفوظة في {{envVar}} غير صالحة (يجب إعادة ترتيب المصادر نفسها) — الترتيب الافتراضي هو الساري.",
"noMarkets": "لا توجد مصادر بيانات أسواق مسجلة.",
"howItWorksTitle": "كيف يعمل",
"howItWorks": "تُجرَّب المصادر من الأعلى إلى الأسفل للرموز المكتشفة تلقائيًا، وأي مصدر يفشل ينتقل إلى التالي. يُطبَّق الحفظ فورًا دون إعادة تشغيل.",
"caliberCaveat": "تنبيه: تختلف مصادر البيانات في أساس التعديل — فمثلًا ياهو يعيد أسعار OHLC غير معدّلة بينما تعيد Tencent/Eastmoney/Tushare أسعارًا معدّلة — لذا قد يغيّر إعادة ترتيب السلسلة أرقام الاختبار الرجعي.",
"markets": {
"a_share": "أسهم الصين (A)",
"us_equity": "الأسهم الأمريكية",
"hk_equity": "أسهم هونغ كونغ",
"india_equity": "الأسهم الهندية",
"kr_equity": "الأسهم الكورية",
"ca_equity": "الأسهم الكندية",
"vietnam_equity": "أسهم فيتنام",
"ar_equity": "الأسهم الأرجنتينية",
"uk_equity": "الأسهم البريطانية",
"index": "المؤشرات",
"crypto": "العملات الرقمية",
"futures": "العقود المستقبلية",
"fund": "الصناديق",
"macro": "الاقتصاد الكلي",
"forex": "العملات"
}
},
"tushareToken": "رمز Tushare",
"gildataToken": "رمز Gildata",
"clearTushareToken": "مسح رمز Tushare المحفوظ",
"clearGildataToken": "مسح رمز Gildata المحفوظ",
"saveDataSourceSettings": "حفظ إعدادات مصادر البيانات",
"baostock": "BaoStock",
"loadLlmSettingsFailed": "فشل تحميل إعدادات LLM: {{message}}",
"loadDataSourceSettingsFailed": "فشل تحميل إعدادات مصادر البيانات: {{message}}",
"llmSettingsSaved": "تم حفظ إعدادات LLM",
"saveLlmSettingsFailed": "فشل حفظ إعدادات LLM: {{message}}",
"dataSourceSettingsSaved": "تم حفظ إعدادات مصادر البيانات",
"desktopCredentialRestarting": "تم تشفير بيانات الاعتماد. جارٍ إعادة تشغيل الخدمة المحلية…",
"saveDataSourceSettingsFailed": "فشل حفظ إعدادات مصادر البيانات: {{message}}",
"configured": "تم التكوين",
"keepCurrentKey": "اتركه فارغًا للاحتفاظ بالمفتاح الحالي",
"providerUsesOauth": "يستخدم هذا المزوّد OAuth. شغّل: {{command}}",
"providerUsesManagedAuth": "يدير هذا المزوّد المصادقة. شغّل: {{command}}",
"noApiKeyRequired": "لا يتطلب هذا المزوّد مفتاح API.",
"keepCurrentToken": "اتركه فارغًا للاحتفاظ بالرمز الحالي",
"iwencaiApiKey": "مفتاح API لـ iWenCai",
"fredApiKey": "مفتاح API لـ FRED",
"iwencaiDesc": "يُستخدم للفحص الدلالي للأسهم عبر iWenCai (问财). يتطلب مفتاح وصول مجاني.",
"clearSavedKey": "مسح المفتاح المحفوظ",
"fredDesc": "يُستخدم لبيانات FRED الاقتصادية الكلية (CPI، GDP، البطالة، إلخ). مفتاح مجاني من fred.stlouisfed.org.",
"featureFlags": "أعلام الميزات",
"featureFlagsDesc": "أعلام الميزات في وقت التشغيل المكتشفة من متغيرات البيئة.",
"shellTools": "أدوات Shell",
"scheduler": "المُجدوِل",
"sessionRuntime": "وقت تشغيل الجلسة",
"flagsReadFrom": "تُقرأ الأعلام من {{env1}} و{{env2}} و{{env3}} في {{env_path}}.",
"unknownError": "خطأ غير معروف",
"providerChangeHint": "يؤدي تغيير المزوّد إلى تحديث النموذج ونقطة النهاية الموصى بهما.",
"oauth": "OAuth",
"authentication": "المصادقة",
"apiKey": "مفتاح API",
"tushareTokenDesc": "يُستخدم لبيانات الأسهم الصينية (فئة A) والعقود الآجلة والصناديق والاقتصاد الكلي. إذا لم يُضبط، يتراجع المشروع إلى AKShare حيثما توفر.",
"gildataTokenDesc": "مصدر اختياري من Gildata (هينغشنغ جويوان) للأسهم الصينية فئة A. عند تعيينه، ينضم إلى نهاية سلسلة التراجع للأسهم A ببيانات يومية معدّلة."
},
"qveris": {
"title": "سوق أدوات QVeris",
"subtitle": "أبقِ البيانات العامة المجانية كخيار افتراضي، وفعّل تنفيذ QVeris المدفوع عند الحاجة فقط.",
"enabled": "تفعيل مسار QVeris المدفوع",
"baseUrl": "عنوان URL الأساسي",
"apiKey": "مفتاح API",
"apiKeyPlaceholder": "اتركه فارغًا للاحتفاظ بالمفتاح الحالي",
"mode": "الوضع",
"modeFree": "البيانات العامة المجانية فقط",
"modePaid": "تفعيل QVeris المدفوع",
"budget": "رصيد Credits لكل جلسة",
"budgetHint": "يتوقف التنفيذ المدفوع عند بلوغ ميزانية هذه الجلسة.",
"balance": "Credits المتبقية",
"recentUsage": "الاستخدام الأخير",
"noUsage": "لا يوجد استخدام حديث",
"signupCta": "فتح التسجيل",
"signupHint": "استخدم رمز الدعوة هذا عند إنشاء حساب QVeris.",
"inviteCode": "رمز الدعوة",
"save": "حفظ إعدادات QVeris",
"saved": "تم حفظ إعدادات QVeris",
"testFailed": "فشل طلب QVeris",
"notConfigured": "غير مكوّن"
},
"agent": {
"reasoningStrength": "جهد الاستدلال",
"unknownProvider": "مزوّد غير معروف",
"unknownModel": "نموذج غير معروف",
"connectionLostReconnect": "فُقد الاتصال، جارٍ إعادة الاتصال…",
"connectionRestored": "تمت استعادة الاتصال",
"agentWorking": "جارٍ بدء العمل…",
"reasoning": "جارٍ التفكير مليًا…",
"running": "قيد التشغيل",
"newMessages": "رسائل جديدة",
"newResearchGoal": "هدف بحث جديد",
"goal": "الهدف",
"criteria": "المعايير",
"evidence": "الأدلة",
"recentEvidence": "الأدلة الأخيرة",
"continue": "متابعة",
"edit": "تعديل",
"cancel": "إلغاء",
"save": "حفظ",
"cancelGoal": "إلغاء الهدف",
"describeGoal": "صف هدف البحث لإرفاقه بهذه الجلسة",
"placeholder": "مثال: اختبر استراتيجية بسيطة للمتوسط المتحرك على 000001.SZ خلال عام 2024",
"send": "إرسال",
"messageInputLabel": "رسالة إلى الوكيل",
"inputHint": "Enter للإرسال · Shift+Enter لسطر جديد",
"editGoalObjectiveLabel": "تعديل هدف البحث",
"exportChat": "تصدير المحادثة",
"stopGeneration": "إيقاف التوليد",
"runSwarmTeam": "تشغيل فريق السرب",
"uploadFile": "رفع ملف",
"checkConnector": "فحص الموصل",
"analyzePortfolio": "تحليل محفظة الموصل",
"executionTimedOut": "انتهت مهلة التنفيذ، تم الإيقاف تلقائيًا",
"researchGoalAttached": "تم إرفاق هدف البحث",
"failedToStartGoal": "فشل بدء الهدف.",
"researchGoalCancelled": "تم إلغاء هدف البحث",
"failedToCancelGoal": "فشل إلغاء الهدف.",
"researchGoalUpdated": "تم تحديث هدف البحث",
"failedToUpdateGoal": "فشل تحديث الهدف.",
"failedToLoadGoal": "فشل تحميل الهدف.",
"cancelRequestSent": "جارٍ الإيقاف…",
"cancelFailed": "تعذّر الإيقاف — حاول مرة أخرى.",
"connectorHalted": "تم إيقاف وقت تشغيل الموصل",
"failedToHaltConnector": "فشل إيقاف وقت تشغيل الموصل.",
"cancelledFromUI": "تم الإلغاء من واجهة الويب.",
"executablesNotAllowed": "غير مسموح بالملفات التنفيذية والأرشيفات",
"fileSizeExceeds": "حجم الملف يتجاوز حد 50 ميغابايت",
"uploaded": "تم الرفع: {{filename}}",
"attachmentLimit": "يمكنك إرفاق ما يصل إلى {{count}} ملفات",
"dropFiles": "أفلت الملفات هنا",
"removeAttachment": "إزالة {{filename}}",
"uploadFailed": "فشل الرفع: {{error}}",
"failedToSend": "فشل إرسال الرسالة، يُرجى المحاولة مرة أخرى.",
"failedToContinue": "فشل متابعة الهدف، يُرجى المحاولة مرة أخرى.",
"runtimeBadge": "مراقبة التداول",
"activeResearchGoal": "هدف بحث نشط",
"evidenceCollectedTitle": "الأدلة المجمّعة نحو هدف البحث هذا",
"evidenceCount": "{{count}} دليل",
"uploading": "جارٍ الرفع...",
"haltConnectorTitle": "إيقاف نشاط وقت تشغيل الموصل فورًا",
"haltConnector": "إيقاف وقت تشغيل الموصل",
"moreOptions": "خيارات إضافية",
"researchGoal": "هدف البحث",
"agentSwarm": "سرب الوكلاء",
"attachmentChip": "مرفق",
"swarmModeChip": "وضع السرب",
"goalModeChip": "هدف البحث",
"continueGoalMessage": "متابعة هدف البحث: {{goal}}",
"loadEarlier": "تحميل الرسائل الأقدم",
"authRequired": "يتطلب الوصول إلى API عن بُعد مفتاح API. أضفه في الإعدادات، أو شغّل الخادم على localhost للاستخدام المحلي فقط.",
"followUpPlaceholder": "اسأل عن هذا التشغيل — مثلًا: لماذا يبلغ التراجع هذا الحد؟",
"continuePrompt": "تابع من حيث توقفت.",
"doneMarker": "اكتمل التشغيل",
"backgroundRunComplete": "اكتمل تشغيل في جلسة أخرى.",
"activity": {
"verbs": {
"readingMarketData": "جارٍ قراءة بيانات السوق",
"writingStrategy": "جارٍ إعداد الاستراتيجية",
"runningBacktest": "جارٍ تشغيل الاختبار التاريخي",
"validatingNumbers": "جارٍ التحقق من الأرقام",
"working": "جارٍ العمل"
},
"done": "تم",
"stopped": "أوقفته أنت",
"timeout": "توقف الانتظار بعد {{elapsed}} — ربما لا يزال التشغيل في مراحله النهائية",
"failed": "فشل",
"steps": "{{count}} خطوات",
"continue": "متابعة",
"reattach": "إعادة الاتصال",
"checkingFigures": "جارٍ التحقق من الأرقام في هذه الإجابة (الجولة {{round}})…"
},
"resumeConnector": "استئناف الموصل",
"resumeConnectorTitle": "مسح مفتاح الإيقاف واستئناف نشاط الموصل",
"connectorResumed": "تم استئناف الموصل",
"failedToResumeConnector": "فشل استئناف الموصل."
},
"runDetail": {
"title": "تفاصيل التشغيل",
"runNotFound": "التشغيل غير موجود",
"runNotFoundDesc": "ربما تم حذف دليل التشغيل، أو ربما لا يمتلك المتصفح حق الوصول إلى API. تحقّق من ضبط مفتاح مصادقة API في الإعدادات عند الوصول عن بُعد.",
"goBack": "رجوع",
"showFullPrompt": "عرض الطلب كاملاً",
"showLessPrompt": "عرض أقل",
"chart": "الرسم البياني",
"trades": "التداولات",
"factor": "تحليل العوامل",
"studio": "استوديو المحفظة",
"riskXray": "الأشعة السينية للمخاطر",
"rebalanceNotes": "ملاحظات إعادة التوازن",
"hhi": "HHI",
"effectiveN": "N الفعّال",
"annualizedVol": "التقلب السنوي",
"maxDrawdown": "أقصى تراجع",
"symbol": "الرمز",
"weight": "الوزن",
"rebalanceCount": "تغييرات الهدف (المطلوبة)",
"rebalanceExecuted": "تنفيذات إعادة التوازن",
"rebalanceRealizedTurnover": "دوران إعادة التوازن المحقق",
"turnoverMean": "متوسط دوران (المطلوب)",
"turnoverMax": "أقصى دوران (المطلوب)",
"largestRebalance": "أكبر إعادة توازن",
"date": "التاريخ",
"turnover": "دوران",
"entries": "دخول",
"exits": "خروج",
"validation": "التحقّق",
"runCard": "بطاقة التشغيل",
"code": "الشفرة",
"downloadTradesCsv": "تنزيل CSV للتداولات",
"downloadMetricsCsv": "تنزيل CSV للمقاييس",
"noChartData": "لا توجد بيانات رسم بياني",
"noChartDataDesc": "لم يحفظ هذا التشغيل بيانات الأسعار، لذلك لا يوجد مخطط. تظل المقاييس أدناه صالحة.",
"showOnly": "عرض فقط",
"addSymbol": "إضافة رمز",
"loadAll": "تحميل الكل",
"cancelLoad": "إلغاء",
"loadingCharts": "جارٍ تحميل بيانات الرسم البياني",
"loadingSelectedChart": "جارٍ تحميل الرسم البياني المحدد...",
"pickSymbolToLoad": "اختر رمزًا لتحميل بيانات الرسم البياني.",
"equityDrawdown": "حقوق الملكية والانسحاب",
"noTrades": "لا توجد تداولات مسجّلة.",
"time": "الوقت",
"code2": "الشفرة",
"side": "الجهة",
"price": "السعر",
"qty": "الكمية",
"reason": "السبب",
"schema": "المخطط",
"generated": "وقت التوليد",
"dataSources": "مصادر البيانات",
"warnings": "التحذيرات",
"backtestSummary": "ملخص الاختبار العكسي",
"reproducibility": "قابلية إعادة الإنتاج",
"metrics": "المقاييس",
"validationPayload": "التحقّق",
"artifactChecksums": "مجاميع التحقق للمنتجات",
"path": "المسار",
"size": "الحجم",
"sha256": "SHA-256",
"noBacktestSummary": "لم يتم تسجيل ملخص اختبار عكسي.",
"noReproducibilityHashes": "لم يتم تسجيل تجزئات قابلية إعادة الإنتاج.",
"noScalarMetrics": "لم يتم تسجيل مقاييس عددية.",
"noStructuredMetrics": "لم يتم تسجيل أي مقاييس مهيكلة.",
"structuredMetrics": "المقاييس المهيكلة",
"noValidationPayload": "لم يتم تسجيل حمولة التحقق.",
"noArtifactChecksums": "لم يتم تسجيل مجاميع التحقق للمنتجات.",
"noCodeFiles": "لا توجد ملفات شفرة.",
"fullReport": "التقرير الكامل →",
"unknown": "غير معروف",
"noneRecorded": "لا توجد سجلات",
"tradesCount": "{{count}} صفقة",
"sideSummary": "شراء {{buy}} · بيع {{sell}}",
"totalPnl": "إجمالي الربح/الخسارة",
"pnl": "الربح/الخسارة",
"returnPct": "العائد",
"holdingDays": "أيام الاحتفاظ",
"showMore": "عرض {{count}} أخرى",
"allSymbols": "كل الرموز",
"sideAll": "الكل",
"sideBuy": "شراء",
"sideSell": "بيع",
"copyCode": "نسخ",
"codeCopied": "تم نسخ الكود",
"codeLines": "{{count}} سطر",
"tearsheet": "تقرير الأداء",
"monthlyReturns": "العوائد الشهرية",
"annualReturns": "العوائد السنوية",
"topDrawdowns": "أبرز التراجعات",
"tearsheetYear": "السنة كاملة",
"noTearsheetData": "بيانات حقوق الملكية غير كافية لإعداد تقرير الأداء.",
"ddRank": "#",
"ddDepth": "العمق",
"ddPeak": "القمة",
"ddTrough": "القاع",
"ddRecovery": "التعافي",
"ddPeakToTrough": "القمة إلى القاع",
"ddTroughToRecovery": "القاع إلى التعافي",
"ddNotRecovered": "لم يتعافَ",
"ddDays": "{{count}} يوم",
"dashboard": "لوحة البحث",
"positions": {
"tab": "المراكز",
"weightDistribution": "توزيع الأوزان",
"sectorDistribution": "توزيع القطاعات",
"weightEvolution": "تطور الأوزان",
"pie": "دائري",
"treemap": "خريطة شجرية",
"cash": "نقد",
"rest": "أخرى",
"restLong": "أخرى (شراء)",
"restShort": "أخرى (بيع)",
"basisGross": "الشرائح هي |الوزن| (الهامش ÷ صافي الأصول)؛ النقد هو المتبقي غير المستثمر ويُحذف عندما تكون المحفظة مستثمرة بالكامل أو برافعة مالية.",
"basisNet": "الصافي المكشوف: الوزن الموقّع ÷ صافي الأصول. القيم السالبة تعني صافي بيع.",
"short": "بيع على المكشوف",
"resolveIndustries": "جلب الصناعات",
"resolving": "جارٍ الجلب...",
"resolveFailed": "فشل جلب الصناعات",
"retry": "إعادة المحاولة",
"asOf": "اعتبارًا من {{date}}",
"noPositions": "لم يتم تسجيل أوزان المراكز لهذا التشغيل.",
"holdingsCount": "{{count}} من المراكز",
"assetClass": {
"a_share": "أسهم صينية (A)",
"us_equity": "أسهم أمريكية",
"hk_equity": "أسهم هونغ كونغ",
"ca_equity": "أسهم كندية",
"kr_equity": "أسهم كورية",
"india_equity": "أسهم هندية",
"crypto": "عملات رقمية",
"futures": "عقود آجلة",
"forex": "عملات أجنبية",
"ar_equity": "أسهم أرجنتينية",
"uk_equity": "أسهم بريطانية",
"vietnam_equity": "أسهم فيتنامية",
"other": "أخرى"
}
},
"attribution": "تحليل الإسناد",
"attrBenchmark": "المؤشر المرجعي",
"attrPortfolio": "المحفظة",
"attrActive": "النشط",
"attrAutoEqualWeight": "أوزان متساوية تلقائيًا",
"attrNoBenchmark": "لم يتم تكوين مؤشر مرجعي",
"attrModeSymbol": "وضع Brinson: حسب الرمز",
"attrModeAssetClass": "وضع Brinson: حسب فئة الأصول",
"attrModeInvestedCash": "وضع Brinson: مقابل النقد المستثمر",
"attrSector": "القطاع",
"attrPortfolioWeight": "وزن المحفظة",
"attrBenchmarkWeight": "وزن المؤشر",
"attrPortfolioReturn": "عائد المحفظة",
"attrBenchmarkReturn": "عائد المؤشر",
"attrAllocation": "التخصيص",
"attrSelection": "الاختيار",
"attrInteraction": "التفاعل",
"attrTotal": "الإجمالي",
"attrBrinsonTitle": "إسناد Brinson",
"attrWaterfallTitle": "شلال العوائد",
"attrNoBrinson": "إسناد Brinson غير متاح لهذا التشغيل.",
"attrAlpha": "ألفا (سنوي)",
"attrBeta": "بيتا",
"attrTStat": "قيمة t: {{value}}",
"attrRSquared": "R²",
"attrInformationRatio": "نسبة المعلومات",
"attrTrackingError": "خطأ التتبع",
"attrNoFactor": "إسناد العوامل غير متاح لهذا التشغيل.",
"attrRollingTitle": "بيتا وألفا المتحركة",
"attrRollingWindow": "نافذة متحركة {{count}} فترة",
"attrCumulativeTitle": "العوائد التراكمية",
"attrLoading": "جارٍ تحميل الإسناد…",
"attrError": "فشل تحميل الإسناد.",
"attrNoData": "لا تتوفر بيانات إسناد لهذا التشغيل."
},
"compare": {
"title": "مقارنة الاستراتيجيات",
"baseline": "الخط الأساسي",
"compare": "مقارنة",
"select": "-- اختر --",
"equityDrawdown": "حقوق الملكية والانسحاب",
"metric": "المقياس",
"baselineCol": "الخط الأساسي",
"compareCol": "المقارنة",
"delta": "الفرق",
"selectTwoRuns": "اختر تشغيلين لمقارنة مقاييسهما.",
"loadError": "فشل تحميل بيانات التشغيل. يرجى المحاولة مرة أخرى.",
"totalReturn": "العائد الإجمالي",
"annualizedReturn": "العائد السنوي",
"sharpeRatio": "نسبة Sharpe",
"calmarRatio": "نسبة Calmar",
"sortinoRatio": "نسبة Sortino",
"maxDrawdown": "أقصى انسحاب",
"volatility": "التذبذب",
"winRate": "معدل الفوز",
"profitFactor": "عامل الربح",
"avgWin": "متوسط الربح",
"avgLoss": "متوسط الخسارة",
"trades": "عدد التداولات",
"maxConsecLosses": "أقصى خسائر متتالية",
"exposureTime": "وقت التعرّض",
"avgHoldingPeriod": "متوسط فترة الاحتفاظ",
"better": "أفضل",
"worse": "أسوأ",
"equityOverlay": "مقارنة منحنى رأس المال",
"rebasedMode": "معايرة = 100",
"rawMode": "خام",
"swapRuns": "تبديل"
},
"correlation": {
"title": "مصفوفة الارتباط",
"assetCodes": "رموز الأصول",
"assetCodesHint": "رموز أسهم مفصولة بفواصل، مثل: 000001.SZ,600519.SH,000858.SZ",
"windowDays": "النافذة (أيام)",
"method": "الطريقة",
"compute": "احتساب",
"loading": "جارٍ التحميل...",
"method_pearson": "بيرسون",
"method_spearman": "سبيرمان",
"failedToCompute": "فشل احتساب الارتباط",
"regimeTimeline": "الخط الزمني لنظام الارتباط",
"regimeTimelineHint": "كثافة الحواف مع التباطؤ عبر الزمن — سياق وصفي للمخاطر وليس إشارة تداول",
"regimeDensity": "كثافة الحواف",
"regimeSmoothed": "الكثافة الممهدة",
"regimeFused": "مندمج (FUSED)",
"regimeEnterThreshold": "عتبة الدخول",
"regimeExitThreshold": "عتبة الخروج"
},
"options": {
"title": "مختبر الخيارات",
"subtitle": "منشئ الاستراتيجيات، العائد عند الانتهاء، سيناريوهات السعر × التقلب الضمني، إغريقيات المحفظة، وسلسلة الخيارات الأمريكية الحية.",
"disclaimer": "للأغراض البحثية فقط. التسعير النظري ونتائج السيناريوهات تقديرات نموذجية وليست نصيحة استثمارية.",
"errorGeneric": "فشل التحليل",
"presets": {
"label": "الاستراتيجيات الجاهزة",
"longCall": "شراء خيار شراء",
"longPut": "شراء خيار بيع",
"bullCallSpread": "فرق خيارات شراء صاعد",
"bearPutSpread": "فرق خيارات بيع هابط",
"bullPutSpread": "فرق خيارات بيع صاعد",
"bearCallSpread": "فرق خيارات شراء هابط",
"longStraddle": "سترادل طويل",
"longStrangle": "سترانجل طويل",
"ironCondor": "الكوندور الحديدي",
"ironButterfly": "الفراشة الحديدية",
"callButterfly": "فراشة خيارات الشراء",
"ratioCallSpread": "فرق نسبي لخيارات الشراء"
},
"builder": {
"title": "منشئ الاستراتيجيات",
"legs": "الأرجل",
"type": "النوع",
"call": "خيار شراء",
"put": "خيار بيع",
"strike": "سعر التنفيذ",
"qty": "الكمية",
"premium": "العلاوة",
"premiumHint": "العلاوة الفارغة = التسعير بنموذج Black-Scholes عبر المحرك",
"qtyHint": "موجب = شراء (طويل)، سالب = بيع (قصير)",
"addLeg": "إضافة رجل",
"removeLeg": "حذف رجل",
"parameters": "المعاملات",
"entrySpot": "سعر الأصل عند الدخول",
"expiryDays": "الأيام حتى الانتهاء",
"volatility": "التقلب (%)",
"riskFreeRate": "المعدل الخالي من المخاطر (%)",
"multiplier": "المضاعف",
"multiplierHint": "100 = عقد الأسهم الأمريكية القياسي",
"commissionRate": "معدل العمولة (%)",
"invalidHint": "تحقق من المدخلات: سعر الأصل وأسعار التنفيذ موجبة، الكميات أعداد صحيحة غير صفرية، التقلب موجب.",
"analyzing": "جارٍ التحليل…"
},
"metrics": {
"entryCost": "تكلفة الدخول",
"debit": "مدين",
"credit": "دائن",
"flat": "متعادل",
"breakevens": "نقاط التعادل",
"maxProfit": "أقصى ربح",
"maxLoss": "أقصى خسارة",
"unlimited": "غير محدود",
"none": "لا شيء"
},
"payoff": {
"title": "العائد عند الانتهاء",
"pnl": "الربح/الخسارة",
"spot": "سعر الأصل عند الانتهاء",
"entrySpot": "السعر",
"breakeven": "نقطة التعادل",
"noData": "لا توجد بيانات عائد بعد — أنشئ استراتيجية أعلاه."
},
"greeks": {
"title": "إغريقيات المحفظة",
"delta": "دلتا",
"deltaDesc": "الانكشاف الاتجاهي مكافئًا بعدد أسهم الأصل الأساسي.",
"gamma": "غاما",
"gammaDesc": "مقدار تغيّر دلتا مع كل حركة دولار واحد في الأصل.",
"theta": "ثيتا",
"thetaDesc": "التآكل الزمني اليومي بالدولار؛ القيمة السالبة تعني نزيفًا يوميًا في القيمة.",
"vega": "فيغا",
"vegaDesc": "الربح/الخسارة بالدولار عند ارتفاع التقلب الضمني 1%.",
"rho": "رو",
"rhoDesc": "الربح/الخسارة بالدولار عند ارتفاع أسعار الفائدة 1%."
},
"scenario": {
"title": "مصفوفة سيناريوهات السعر × التقلب الضمني",
"spotAxis": "سعر الأصل عند الانتهاء",
"ivAxis": "التقلب الضمني",
"pnl": "الربح/الخسارة",
"noData": "لم تُرجع شبكة سيناريوهات."
},
"chain": {
"title": "سلسلة الخيارات الأمريكية",
"ticker": "الرمز",
"expiration": "تاريخ الانتهاء",
"load": "تحميل",
"loading": "جارٍ تحميل السلسلة…",
"calls": "خيارات شراء",
"puts": "خيارات بيع",
"strike": "سعر التنفيذ",
"last": "آخر سعر",
"bid": "عرض الشراء",
"ask": "طلب البيع",
"spread": "الفرق%",
"volume": "الحجم",
"openInterest": "العقود المفتوحة",
"iv": "التقلب الضمني%",
"itm": "داخل المال",
"atm": "عند السعر",
"noData": "لم تُرجع عقود لهذا الاختيار.",
"errorTitle": "سلسلة الخيارات غير متاحة",
"retry": "إعادة المحاولة"
}
},
"alphaZoo": {
"title": "مكتبة عوامل ألفا",
"prebuiltAlpha": "{{count}} ألفا كمي مُعدّ مسبقًا عبر 5 مكتبات عوامل",
"prebuiltAlphaLoading": "ألفا كمي مُعدّ مسبقًا عبر 5 مكتبات عوامل",
"browseDesc": "تصفّح الإشارات العرضية المعتمدة على الصيغ من Qlib ومجموعة Kakushadze 101 وGTJA 191 وأدبيات الشذوذ الأكاديمي والعوامل الأساسية الآمنة PIT. انقر على أي ألفا لقراءة صيغتها وشفرتها المصدرية، أو نفّذ قياسًا لتقييم مكتبة العوامل بأكملها ضمن كون وفترة محددين.",
"search": "بحث",
"searchPlaceholder": "تصفية حسب المعرّف أو الاسم المستعار…",
"zoo": "مكتبة العوامل",
"allZoos": "كل مكتبات العوامل",
"theme": "السمة",
"allThemes": "كل السمات",
"universe": "الكون",
"allUniverses": "كل الأكوان",
"compare": "مقارنة",
"runBenchmark": "تشغيل القياس",
"decayDays": "الاضمحلال (أيام)",
"selectForCompare": "اختر للمقارنة",
"loadingAlphas": "جارٍ تحميل الألفا…",
"noAlphasMatch": "لا توجد ألفا تطابق المرشّحات الحالية.",
"showingOf": "عرض {{visible}} من أصل {{total}}",
"loadMore": "تحميل المزيد",
"backToAlphaZoo": "العودة إلى Alpha Zoo",
"couldNotLoad": "تعذّر تحميل الألفا",
"unknownError": "خطأ غير معروف",
"formula": "الصيغة",
"noFormula": "(لا توجد صيغة)",
"metadata": "البيانات الوصفية",
"themeKey": "السمة",
"frequency": "التكرار",
"decayHorizon": "أفق الاضمحلال",
"minWarmupBars": "الحد الأدنى من أعمدة الإحماء",
"requiresSector": "تتطلب القطاع",
"modulePath": "مسار الوحدة",
"notes": "ملاحظات",
"sourceCode": "الشفرة المصدرية",
"viewSource": "عرض المصدر ({{lines}} سطرًا)",
"noSource": "(لا يوجد مصدر)",
"benchRunner": "مُشغّل القياس",
"scoreZoo": "تسجيل مكتبة عوامل على كون",
"scoreDesc": "يحسب IC / IR لكل ألفا في مكتبة العوامل المحددة على الكون والفترة المختارين، ثم يصنّفها إلى حيّة / معكوسة / ميتة.",
"period": "الفترة",
"top": "الأعلى",
"running": "قيد التشغيل…",
"submitting": "جارٍ الإرسال…",
"computing": "جارٍ الحساب: {{id}}",
"alive": "حيّة",
"reversed": "معكوسة",
"dead": "ميتة",
"skipped": "متجاوزة",
"topByIr": "أعلى 5 حسب IR",
"mostReversed": "الأكثر انعكاسًا",
"byTheme": "حسب السمة",
"noRows": "لا توجد صفوف.",
"meanIc": "متوسط IC",
"ir": "IR",
"category": "الفئة",
"headToHeadCompare": "مقارنة مباشرة",
"compareAlphas": "مقارنة الألفا جنبًا إلى جنب",
"compareDesc": "يقيس الألفا التي تختارها فقط على كون وفترة، ثم يرتّبها حسب IC / IR مع الفارق عن المتصدّر — أسرع بكثير من قياس مكتبة عوامل كاملة عندما تهتم بقائمة قصيرة.",
"alphaIds": "معرّفات الألفا",
"selected": "{{count}} مُختار",
"alphaIdsHint": "افصل المعرّفات بفواصل أو مسافات. تلميح: حدّد الألفا في الكتالوج واضغط \"مقارنة\" لتعبئة هذا الحقل تلقائيًا.",
"rankBy": "الترتيب حسب",
"pickAtLeast2": "اختر عاملَي ألفا على الأقل.",
"enterAtLeast2": "أدخل معرّفي ألفا مختلفين على الأقل للمقارنة.",
"winner": "الفائز",
"compared": "تمت المقارنة",
"rankedBy": "الترتيب حسب",
"icMean": "متوسط IC",
"icStd": "انحراف IC المعياري",
"icPositive": "IC>0",
"icPositiveTitle": "نسبة الفترات ذات IC الموجب",
"sampleCount": "n",
"sampleCountTitle": "عدد عينات IC",
"noBenchmarkMatch": "لا توجد نتائج مطابقة",
"alphaCatalogue": "كتالوج الألفا",
"predictiveHalfLifeTitle": "عمر النصف التنبؤي: أيام التداول قبل اضمحلال حافة الإشارة",
"id": "المعرّف",
"icSampleCount": "عدد عينات IC",
"alpha": "ألفا",
"alphaComparisonRanking": "ترتيب مقارنة الألفا",
"skippedPre": "تم تخطيها:",
"zooCardTitle": {
"qlib158": "Qlib 158",
"alpha101": "Kakushadze 101 ألفا صيغية",
"gtja191": "GTJA 191",
"academic": "الشذوذات الأكاديمية",
"fundamental": "أساسيات آمنة PIT"
},
"zooCardDesc": {
"qlib158": "مكتبة Microsoft Qlib الكاملة ذات 158 ميزة تغطي الزخم والتذبذب والحجم والإشارات الإحصائية المتحركة.",
"alpha101": "101 إشارة ألفا صيغية من Kakushadze (2015)؛ إشارات عرضية قصيرة المدى.",
"gtja191": "191 ألفا من Guotai Junan Securities؛ إشارات فنية وبنية مجهرية مضبوطة لأسواق الأسهم الصينية A.",
"academic": "شذوذات طويلة المدى منسقة من الأدبيات الأكاديمية (القيمة، الزخم، الجودة، التذبذب المنخفض، إلخ).",
"fundamental": "عوامل الجودة والقيمة محسوبة من بيانات SEC company facts الآمنة PIT — earnings yield وROE وgross profitability وasset growth (مثبّتة على filed-date)."
},
"universeOption": {
"csi300": "CSI 300 (الصين A)",
"sp500": "S&P 500 (الولايات المتحدة)",
"btc-usdt": "BTC-USDT (عملات رقمية)",
"equity_cn": "أسهم الصين A",
"equity_us": "أسهم أمريكية",
"equity_hk": "أسهم هونغ كونغ",
"equity_in": "أسهم هندية",
"equity_kr": "أسهم كورية",
"crypto": "عملات رقمية",
"futures": "عقود آجلة"
},
"themes": {
"momentum": "الزخم",
"reversal": "الانعكاس",
"volume": "الحجم",
"volatility": "التذبذب",
"quality": "الجودة",
"value": "القيمة",
"liquidity": "السيولة",
"microstructure": "البنية المجهرية",
"sentiment": "المشاعر",
"growth": "النمو",
"leverage": "الرافعة"
},
"compareTooltip": "حدّد عاملَي ألفا أو أكثر أدناه، ثم قارنها مباشرة",
"loadingAlpha": "جارٍ تحميل {{id}}…",
"comparedRankedBy": "{{count}} مقارنة · مرتّبة حسب {{sort}} · {{universe}} · {{period}}",
"skippedCount": "{{count}} تم تخطيها",
"gapTitle": "الفارق عن المتصدّر في {{sort}}",
"sortOption": {
"ir": "IR (نسبة المعلومات)",
"icMean": "متوسط IC",
"icPositiveRatio": "نسبة IC > 0",
"icCount": "عدد العينات"
},
"failedToLoadAlphas": "تعذّر تحميل قائمة ألفا",
"selectAlphaForCompare": "حدّد {{id}} للمقارنة",
"failedToLoadAlpha": "تعذّر تحميل ألفا",
"failedToStartBench": "تعذّر بدء الاختبار المعياري",
"singleAssetHint": "{{message}} جرّب `sp500` أو `csi300` للحصول على معامل IC مقطعي ذي دلالة.",
"benchStreamError": "خطأ في تدفق الاختبار المعياري",
"job": "المهمة {{id}}…",
"compareStreamError": "خطأ في تدفق المقارنة",
"failedToStartComparison": "تعذّر بدء المقارنة"
},
"validation": {
"noData": "لا توجد بيانات تحقق متاحة.",
"monteCarlo": "اختبار مونت كارلو بالتبادل",
"significant": "ذو دلالة",
"notSignificant": "غير ذو دلالة",
"monteCarloDesc": "تمت خلط ترتيب التداولات {{n}} مرة لاختبار ما إذا كان Sharpe أفضل من العشوائي.",
"actualSharpe": "Sharpe الفعلي",
"pValueSharpe": "قيمة p (Sharpe)",
"simulatedMean": "المتوسط المحاكى",
"simulatedRange": "نطاق المحاكاة 90٪",
"bootstrap": "فاصل ثقة Sharpe عبر البوتستراب",
"ciAbove0": "CI > 0",
"ciIncludes0": "CI يتضمن 0",
"bootstrapDesc": "تمت إعادة عينة العوائد اليومية {{n}} مرة لتقدير فاصل ثقة {{pct}}.",
"observedSharpe": "Sharpe المُلاحَظ",
"ci": "فاصل ثقة {{pct}}",
"medianSharpe": "وسيط Sharpe",
"probSharpePositive": "احتمال (Sharpe > 0)",
"walkForward": "تحليل Walk-Forward",
"profitable": "{{profitable}}/{{total}} مربحة",
"walkForwardDesc": "قُسِّمت إلى {{n}} نوافذ متتالية للتحقق من اتساق الأداء.",
"consistency": "الاتساق",
"avgReturn": "متوسط العائد",
"avgSharpe": "متوسط Sharpe",
"windows": "النوافذ",
"period2": "الفترة",
"return": "العائد",
"maxDd": "أقصى DD",
"winRate": "معدل الفوز",
"pathsTitle": "مسارات رأس المال المحاكاة",
"sharpeDist": "توزيع نسبة شارب",
"actualLabel": "الفعلي",
"medianLabel": "الوسيط",
"windowReturns": "عائد كل نافذة",
"tradeNumber": "رقم الصفقة"
},
"thinking": {
"processing": "جارٍ المعالجة",
"running": "قيد التشغيل",
"done": "تم",
"steps": "{{count}} خطوات"
},
"runnerStatus": {
"connectorRuntime": "وقت تشغيل الموصل",
"configuredProfiles": "ملفات تعريف وقت تشغيل الموصل المهيأة",
"connected": "{{count}} متصل",
"noConnector": "لا يوجد موصل متصل",
"running": "قيد التشغيل",
"halted": "موقوف",
"authorized": "مُصادَق",
"sdkConnected": "متصل",
"sdkReadOnlyNote": "موصل SDK مباشر · ملف قراءة فقط. التداول المباشر يتطلب ملف trade و mandate مُلتزَم.",
"sdkCredentialsRequired": "قم بتكوين بيانات اعتماد API لهذا الموصل (راجع Runtime).",
"sdkConnectionError": "فشل فحص الاتصال. تحقق من بيانات الاعتماد في Runtime.",
"notConnected": "غير متصل",
"connectProfile": "وصّل ملف التعريف هذا لتفعيل وقت تشغيل الموصل",
"authorizeNote": "تبقى قناة الموصل للقراءة فقط حتى تنجح مصادقة OAuth ويُلتزم التفويض.",
"runner": "المُشغّل",
"runnerRunning": "قيد التشغيل",
"runnerStopped": "متوقف",
"lastTick": "آخر تحديث",
"activeMandate": "التفويض النشط",
"expiresIn": "ينتهي خلال {{time}}",
"expired": "منتهي الصلاحية",
"limitsUnavailable": "الحدود غير متاحة",
"noActiveMandate": "لا يوجد تفويض نشط. اطلب من الوكيل اقتراح واحد، ثم التزم به قبل بدء وقت تشغيل الموصل.",
"haltedControlsDisabled": "موقوف — تم تعطيل تحكّمات المُشغّل",
"runtimeActive": "قيد التشغيل ضمن التفويض",
"idle": "خامل",
"stopRunner": "إيقاف المُشغّل",
"startRunner": "تشغيل المُشغّل",
"never": "أبدًا",
"unknown": "غير معروف",
"justNow": "الآن",
"loadingInstructions": "جارٍ تحميل تعليمات تفويض الموصل...",
"fallbackInstruction": "شغّل `vibe-trading connector list` لاختيار ملف تعريف الوسيط، ثم شغّل `vibe-trading connector authorize <الملف>` من جلسة سطح المكتب التي ستحتفظ باتصال الوسيط.",
"secondsAgo": "قبل {{n}} ث",
"minutesAgo": "قبل {{n}} د",
"hoursAgo": "قبل {{n}} س",
"daysAgo": "قبل {{n}} يوم",
"runnerStartedFor": "تم تشغيل المنفّذ لـ {{broker}}",
"runnerStoppedFor": "تم إيقاف المنفّذ لـ {{broker}}",
"runnerControlFailed": "فشل التحكم في المنفّذ.",
"startRunnerTitle": "تشغيل المنفّذ الدائم",
"stopRunnerTitle": "إيقاف المنفّذ الدائم",
"expiresAt": "تنتهي في {{time}}"
},
"swarmStatus": {
"agents": "{{done}}/{{total}} وكيل",
"layer": "الجولة {{current}} من {{total}}",
"agent": "الوكيل",
"status": "الحالة",
"tool": "الأداة",
"time": "الوقت",
"iters": "التمريرات",
"output": "المخرجات",
"waitingForEvents": "بانتظار أحداث الوكيل...",
"teamStarting": "الفريق قيد التشغيل — أولى التحديثات خلال ثوانٍ…",
"detailsUnavailable": "التفاصيل غير متاحة"
},
"mandate": {
"runtimeMandate": "تفويض وقت تشغيل الموصل",
"reauthMandate": "إعادة تفويض موصل التفويض",
"universe": "الكون",
"maxOrder": "الحد الأقصى للأمر",
"dailyCap": "حد يومي",
"leverage": "الرافعة",
"instruments": "الأدوات",
"adjust": "تعديل",
"committing": "جارٍ الالتزام…",
"commit": "التزام \"{{label}}\"",
"cancel": "إلغاء",
"sendAdjustment": "إرسال التعديل",
"mandateActive": "التفويض {{id}} نشط",
"fundedBy": "مموّل من قِبل",
"noBroker": "لا يمكن الالتزام بالتفويض: وسيط الموصل مفقود. اطلب من الوكيل إعادة توليد الاقتراح.",
"failedToCommit": "فشل الالتزام بالتفويض.",
"noLeverage": "بدون رافعة",
"leverageValue": "{{value}}× رافعة",
"tradesPerDay": "{{count}} صفقة/يوم",
"adjustTitle": "تعديل هذا التفويض",
"adjustPlaceholder": "مثال: أبقِ هذا لكن ارفع الحد اليومي إلى 10",
"adjustInputLabel": "محتوى طلب التعديل",
"confirmTitle": "تأكيد الالتزام بالتفويض",
"confirmDescription": "سيؤدي الالتزام إلى منح الوكيل صلاحية تداول فورية ضمن الحدود الموضحة أدناه.",
"confirmButton": "تأكيد والالتزام",
"maxPerOrder": "بحد أقصى {{amount}} لكل أمر",
"expiresOn": "ينتهي في {{date}}",
"accountSummary": "{{broker}} · حساب {{type}} · ممول من {{fundedBy}}",
"adjustRequestMessage": "لطلب تعديل اقتراح التفويض «{{label}}» (الخيار {{ordinal}}): {{text}}",
"accountLoading": "جارٍ تحميل حسابات الوسيط…",
"accountLoadFailed": "تعذّر تحميل حسابات الوسيط: {{error}}",
"accountLabel": "الحساب الذي يمكن لهذا التفويض التداول فيه",
"accountChoose": "اختر حسابًا",
"accountDefault": " · الافتراضي لدى الوسيط",
"accountDeactivated": " · معطّل",
"accountNotAgentic": " · لا يُسمح بتداول الوكيل",
"accountHint": "يتداول الوكيل في هذا الحساب فقط، ولن يُختار أي حساب نيابةً عنك."
},
"messageBubble": {
"elapsedTime": "إجمالي وقت الاستجابة",
"copied": "تم النسخ",
"copy": "نسخ",
"copyFailed": "فشل النسخ. حدّد النص واضغط Ctrl+C.",
"timeoutHint": "انتهت المهلة. بسّط الاستراتيجية أو استخدم عددًا أقل من الأصول.",
"apiFailedHint": "فشل طلب API. حاول مرة أخرى بعد قليل.",
"executionFailedHint": "فشل التنفيذ. حاول مرة أخرى.",
"retry": "إعادة المحاولة"
},
"pineViewer": {
"pineScript": "Pine Script v6",
"copied": "تم النسخ",
"copy": "نسخ",
"docs": "التوثيق",
"footer": "محرر TradingView Pine ← مؤشر فارغ جديد ← لصق الشفرة ← إضافة إلى الرسم البياني"
},
"runComplete": {
"fullReport": "التقرير الكامل →",
"pineScript": "Pine Script",
"shadowReport": "تقرير الظلّ"
},
"home": {
"title": "بحث استراتيجيات الكمّ مدعوم بالذكاء الاصطناعي",
"subtitle": "صف استراتيجية تداول بلغة طبيعية. يُولِّد الوكيل الشفرة، ويُجري الاختبارات العكسية، ويُحسّن — كل ذلك في الوقت الفعلي.",
"startResearch": "ابدأ البحث",
"featureAgent": "وكيل ذكاء اصطناعي",
"featureAgentDesc": "توليد استراتيجيات من اللغة الطبيعية باستدلال ReAct",
"featureBacktest": "اختبار عكسي مدمج",
"featureBacktestDesc": "مصادر بيانات متعددة للتحليل الكمي لأسهم A",
"featureStreaming": "بث في الوقت الفعلي",
"featureStreamingDesc": "راقب الوكيل وهو يفكّر، ويستدعي الأدوات، ويتكرّر",
"featureReplay": "إعادة تشغيل الاستراتيجية",
"featureReplayDesc": "محلّل يومية التداول + الحساب الظلّي — استخرج قواعدك، واختبرها عكسيًا، وأرجع فرق الأرباح والخسائر",
"howItWorksTitle": "كيف يعمل",
"step1Title": "1. صف استراتيجيتك",
"step1Desc": "أخبر الوكيل بما تريد اختباره بلغة طبيعية — دون الحاجة لكتابة أي كود.",
"step2Title": "2. راقب البحث والاختبار العكسي",
"step2Desc": "يخطط الوكيل، ويجلب بيانات السوق، وينفّذ الاختبار العكسي مباشرةً أمامك.",
"step3Title": "3. راجع النتائج",
"step3Desc": "اطّلع على مقاييس الأداء ومنحنى حقوق الملكية وشيفرة Pine Script القابلة للتصدير.",
"step4Title": "4. انتقل للتداول الفعلي عندما تكون جاهزًا",
"step4Desc": "يمكنك اختياريًا الموافقة على تفويض تداول بحدود واضحة — لن يُنفَّذ أي أمر دون تأكيدك."
},
"errorBoundary": {
"somethingWrong": "حدث خطأ ما. أعد تحميل الصفحة للمتابعة."
},
"charts": {
"noPriceData": "لا توجد بيانات أسعار لهذا الرمز حتى الآن",
"noCorrelationData": "اختر رمزين على الأقل للمقارنة",
"noEquityData": "لا يوجد منحنى لقيمة الحساب حتى الآن — شغّل اختبارًا عكسيًا أولًا"
},
"toolProgress": {
"step": "الخطوة {{step}} · {{tool}}",
"toolsRunning": "جارٍ العمل على {{count}} مهام في آن واحد",
"toolsCompleted": "اكتملت {{count}} خطوات",
"more": "… و{{count}} أخرى",
"etaSeconds": "متبقٍ نحو {{seconds}} ثانية",
"earlier": "+{{count}} سابقة"
},
"swarm": {
"assemblingTeam": "جارٍ تشكيل الفريق…",
"preparingLayers": "جارٍ تحديد ترتيب العمل…",
"agentProgress": "تقدم وكلاء السرب",
"status": {
"waiting": "في الانتظار",
"running": "قيد التشغيل",
"done": "منجز",
"failed": "فشل",
"blocked": "محجوب",
"retry": "إعادة المحاولة",
"cancelled": "أُلغي",
"pending": "بانتظار البدء",
"completed": "مكتمل",
"unknown": "غير معروف"
},
"elapsed": {
"seconds": "{{value}} ث",
"minutesSeconds": "{{minutes}} د {{seconds}} ث"
},
"presets": {
"investment_committee": "مراجعة لجنة الاستثمار",
"quant_strategy_desk": "مكتب الاستراتيجيات الكمية",
"value_investing_committee": "لجنة الاستثمار القيمي"
}
},
"metrics": {
"good": "جيد",
"poor": "ضعيف",
"gloss": {
"total_return": "مقدار ما ربحته الاستراتيجية أو خسرته خلال فترة الاختبار كاملة.",
"annual_return": "عائد الاستراتيجية بعد تحويله إلى فترة قياسية مدتها سنة واحدة.",
"sharpe": "العائد المحقق لكل وحدة من إجمالي المخاطر، ويكون الأعلى أفضل عمومًا.",
"max_drawdown": "أكبر خسارة من قمة إلى قاع خلال فترة الاختبار.",
"win_rate": "نسبة الصفقات المكتملة التي حققت ربحًا.",
"trade_count": "عدد الصفقات المكتملة خلال فترة الاختبار.",
"calmar": "العائد السنوي مقسومًا على أقصى تراجع، لموازنة النمو مع أسوأ خسارة.",
"sortino": "العائد المحقق لكل وحدة من مخاطر الهبوط، ويكون الأعلى أفضل عمومًا.",
"profit_loss_ratio": "مقارنة متوسط ربح الصفقة الرابحة بمتوسط خسارة الصفقة الخاسرة.",
"max_consecutive_loss": "أطول سلسلة متتالية من الصفقات الخاسرة.",
"benchmark_return": "عائد المؤشر المرجعي للمقارنة خلال الفترة نفسها.",
"excess_return": "مقدار تفوق الاستراتيجية على مؤشرها المرجعي أو تأخرها عنه.",
"information_ratio": "العائد الزائد المحقق لكل وحدة من خطأ التتبع مقابل المؤشر المرجعي.",
"final_value": "قيمة المحفظة في نهاية فترة الاختبار.",
"avg_holding_days": "متوسط عدد الأيام التي ظل فيها كل مركز مفتوحًا."
}
},
"tools": {
"add_goal_evidence": "إضافة دليل إلى الهدف",
"alpha_bench": "قياس عوامل ألفا مرجعيًا",
"alpha_compare": "مقارنة عوامل ألفا",
"alpha_zoo": "تصفح مكتبة ألفا",
"analyze_image": "تحليل الصورة",
"analyze_trade_journal": "تحليل يومية التداول",
"background_run": "بدء مهمة في الخلفية",
"backtest": "تشغيل الاختبار العكسي",
"bash": "تشغيل أمر",
"cancel_background": "إلغاء مهمة الخلفية",
"check_background": "التحقق من مهمة الخلفية",
"compact": "تلخيص المحادثة",
"create_hypothesis": "إنشاء فرضية بحث",
"delete_skill": "حذف مهارة مخصصة",
"edit_file": "تعديل الشيفرة",
"extract_shadow_strategy": "استخراج استراتيجية الظل",
"factor_analysis": "تحليل العوامل",
"financial_rigor": "التحقق من التحليل المالي",
"generate_backtest_config": "إنشاء إعدادات الاختبار العكسي",
"get_block_trades": "جلب الصفقات الضخمة",
"get_dragon_tiger": "جلب قائمة التنين والنمر",
"get_financial_statements": "جلب القوائم المالية",
"get_fund_flow": "جلب تدفقات الأموال",
"get_fundamentals": "جلب البيانات الأساسية",
"get_lockup_expiry": "جلب مواعيد انتهاء حظر البيع",
"get_macro_series": "جلب السلاسل الاقتصادية الكلية",
"get_margin_trading": "جلب بيانات التداول بالهامش",
"get_market_data": "جلب بيانات السوق",
"get_northbound_flow": "جلب تدفقات الاستثمار المتجه شمالًا",
"get_options_chain": "جلب سلسلة الخيارات",
"get_research_goal": "عرض هدف البحث",
"get_research_reports": "جلب تقارير الأبحاث",
"get_sec_filings": "جلب إفصاحات SEC",
"get_sector_info": "جلب بيانات القطاعات",
"get_shareholder_count": "جلب عدد المساهمين",
"get_stock_news": "جلب أخبار السهم",
"get_stock_profile": "جلب ملف السهم",
"iwencai_search": "البحث في iWenCai",
"link_autopilot_backtest": "ربط الاختبار العكسي بالبحث التلقائي",
"link_backtest": "ربط الاختبار العكسي بالفرضية",
"load_skill": "تحميل معرفة الاستراتيجية",
"options_payoff": "تحليل عائد الخيارات",
"options_pricing": "تسعير الخيارات",
"patch_skill": "تحديث مهارة مخصصة",
"pattern": "اكتشاف أنماط المخطط",
"portfolio_risk_xray": "فحص مخاطر المحفظة بعمق",
"propose_mandate_profiles": "اقتراح تفويضات التداول",
"qveris_execute": "تنفيذ إجراء QVeris",
"qveris_inspect": "فحص إجراء QVeris",
"qveris_search": "البحث في QVeris",
"read_document": "قراءة مستند",
"read_file": "قراءة ملف",
"read_url": "قراءة صفحة ويب",
"remember": "حفظ في الذاكرة",
"render_shadow_report": "إنشاء تقرير الظل",
"report_audit": "تدقيق تقرير البحث",
"run_research_autopilot": "تشغيل البحث التلقائي",
"run_shadow_backtest": "تشغيل الاختبار العكسي للظل",
"run_swarm": "جمع الفريق",
"save_skill": "حفظ مهارة مخصصة",
"scaffold_signal_engine": "بناء محرك الإشارات",
"scan_shadow_signals": "مسح إشارات الظل",
"screen_market": "فرز السوق",
"sdm_decay_scan": "فحص تدهور الاستراتيجية",
"sdm_register": "تسجيل الاستراتيجية",
"sdm_status": "التحقق من حالة الاستراتيجية",
"search_hypotheses": "البحث في الفرضيات",
"search_symbol": "البحث عن الرموز",
"session_search": "البحث في الجلسات السابقة",
"skill_file": "قراءة ملف المهارة",
"start_research_goal": "بدء هدف البحث",
"trading_account": "عرض حساب الوسيط",
"trading_cancel_order": "إلغاء أمر لدى الوسيط",
"trading_check": "فحص اتصال الوسيط",
"trading_connections": "سرد اتصالات الوسطاء",
"trading_history": "عرض سجل التداول",
"trading_orders": "عرض أوامر الوسيط",
"trading_place_order": "إرسال أمر إلى الوسيط",
"trading_positions": "عرض مراكز الوسيط",
"trading_quote": "جلب سعر من الوسيط",
"trading_select_connection": "اختيار اتصال الوسيط",
"update_hypothesis": "تحديث فرضية البحث",
"update_research_goal_status": "تحديث حالة الهدف",
"web_search": "البحث في الويب",
"write_file": "إنشاء الشيفرة"
},
"runDashboard": {
"eyebrow": "بحث كمّي · اختبار رجعي",
"noBacktestData": "لا توجد بيانات اختبار رجعي لعرضها في هذا التشغيل",
"noBacktestDataStudioHint": "يبدو أنه تحليل محفظة/مخاطر بدلاً من ذلك — راجع أرقامه في تبويب Studio.",
"engine": "محرك",
"portfolio": "محفظة",
"systematicStrategy": "استراتيجية منهجية",
"strategyInferred": "مُستنتَج",
"strategyMacd": "استراتيجية اتجاه MACD",
"strategyRsi": "استراتيجية توقيت RSI",
"strategyMomentum": "استراتيجية الزخم",
"strategyMeanReversion": "استراتيجية العودة إلى المتوسط",
"strategyBreakout": "استراتيجية الاختراق",
"strategyMaCrossover": "تقاطع المتوسط المتحرك {{fast}}/{{slow}} يوم",
"seriesStrategy": "الاستراتيجية",
"seriesBenchmark": "المؤشر المرجعي",
"seriesDrawdown": "التراجع",
"seriesRollingSharpe": "شارب المتحرك (20)",
"kpiTotalReturn": "إجمالي العائد",
"kpiAnnualReturn": "العائد السنوي",
"kpiMaxDrawdown": "أقصى تراجع",
"kpiWinRate": "نسبة الربح",
"kpiTrades": "عدد التداولات",
"figEquityTitle": "منحنى رأس المال والمؤشر المرجعي",
"figEquityNote": "قارن مسار نمو الاستراتيجية بمؤشرها المرجعي.",
"figRiskTitle": "التراجع والمخاطر المتحركة",
"figRiskNote": "تعرّف على اللحظات التي تعمّقت فيها الخسائر وتغيّر الأداء المعدّل بالمخاطر.",
"figPnlTitle": "الأرباح والخسائر المحققة",
"figPnlNote": "الأرباح والخسائر الناتجة عن التداولات المكتملة.",
"figLedgerTitle": "سجل التداولات",
"figLedgerNote": "راجع أحدث 100 تداول بالتفصيل الزمني.",
"figMetricsTitle": "مقاييس الأداء",
"figMetricsNote": "ملخّص كامل للعائد والمخاطر وإحصاءات التداول.",
"noTrades": "لم يُسجَّل أي تداول.",
"colTime": "الوقت",
"colSymbol": "الرمز",
"colSide": "الاتجاه",
"colPrice": "السعر",
"colQty": "الكمية",
"colPnl": "الربح/الخسارة",
"colReason": "السبب"
},
"factor": {
"title": "تحليل العوامل",
"selectFactor": "اختيار العامل",
"icSeries": "IC اليومي",
"icMa": "متوسط متحرك لـ 20 فترة",
"icStats": "إحصاءات IC",
"icMean": "متوسط IC",
"icStd": "الانحراف المعياري لـ IC",
"ir": "نسبة المعلومات",
"icPositiveRatio": "نسبة IC>0",
"icCount": "عدد ملاحظات IC",
"longShortSpread": "فارق الشراء/البيع",
"nGroups": "عدد الشرائح",
"quantileEquity": "أصول الشرائح الكمية",
"quantileEquityNote": "تمثل Group_1 أدنى قيم العامل وتمثل Group_N أعلاها؛ ويقيس الفارق بين أعلى شريحة وأدناها قوة الاختيار.",
"correlation": "ارتباط IC",
"correlationNote": "الارتباط الزوجي بين السلاسل الزمنية اليومية لـ IC عبر العوامل؛ العوامل شديدة الارتباط تحمل معلومات متداخلة.",
"insufficientOverlap": "لا يمكن حساب ارتباط IC لعدم كفاية التداخل في التواريخ المشتركة بين سلاسل IC للعوامل.",
"loading": "جارٍ تحميل نتائج تحليل العوامل…",
"error": "تعذّر تحميل نتائج تحليل العوامل",
"noFactorData": "لا تتوفر نتائج تحليل عوامل لهذا التشغيل."
},
"portfolio": {
"page": {
"badge": "محلي للقراءة فقط · حسابات متعددة",
"title": "المحفظة",
"subtitle": "تقييم واحد يجمع كل الاتصالات المفعّلة للقراءة فقط. الحساب الذي يتعذّر قراءته يظهر كخطأ ولا يُحتسب ضمن الإجماليات.",
"fxFresh": "USD/CNY {{rate}} · سعر حي",
"fxCached": "USD/CNY {{rate}} · سعر مخزّن",
"manageAccounts": "إدارة الحسابات",
"exportCsv": "تصدير CSV",
"refreshAll": "تحديث الكل",
"refreshing": "جارٍ التحديث",
"warningsTitle": "ملاحظات على البيانات",
"emptyTitle": "لا توجد لقطة للمحفظة بعد",
"emptyBody": "أضف حسابًا واحدًا على الأقل للقراءة فقط لبدء التجميع.",
"emptyAction": "إضافة حساب",
"errorLoad": "تعذّر عرض المحفظة",
"errorRefresh": "فشل التحديث",
"errorReconnect": "فشلت إعادة ربط الحساب",
"errorReconnectTimeout": "انتهت مهلة تفويض المتصفح. أعد الاتصال وأكمل تفويض الوسيط سريعًا.",
"errorSaveSettings": "تعذّر حفظ إعدادات المحفظة",
"errorExport": "فشل التصدير"
},
"metrics": {
"total": "إجمالي الأصول",
"change": "تغيّر الأصول اليوم",
"changeNote": "يشمل حركة السوق والإيداعات والسحوبات",
"coverage": "تغطية التقييم",
"coverageNote": "مُسعَّر {{priced}} · نقد {{cash}}",
"lastComplete": "آخر تحديث كامل",
"excluded": "تعذّرت قراءة {{count}} حسابات، وهي مستثناة من هذا الإجمالي"
},
"allocation": {
"byAccount": "التوزيع حسب الحساب",
"byHolding": "التوزيع حسب الأصل",
"center": "نسب الحيازات",
"other": "حيازات أخرى",
"cash": "نقد",
"unpriced": "غير مُسعَّر / أخرى",
"cashUnpriced": "نقد / غير مُسعَّر"
},
"accounts": {
"title": "حالة الحسابات",
"hint": "اضغط على حساب لتصفية الحيازات أدناه",
"clearFilter": "مسح التصفية",
"positions": "{{count}} مركزًا",
"fresh": "تمت القراءة بنجاح",
"failed": "تعذّرت قراءته — غير محتسب في الإجمالي",
"lastSuccess": "آخر قراءة ناجحة {{time}}",
"noSuccess": "لا توجد قراءة ناجحة بعد",
"reconnect": "إعادة الاتصال",
"retryRead": "إعادة محاولة القراءة"
},
"holdings": {
"title": "تفاصيل الحيازات",
"count": "{{count}} مركزًا",
"search": "ابحث عن وسيط أو رمز أو سوق",
"colBroker": "الحساب",
"colSymbol": "الرمز",
"colType": "النوع",
"colQuantity": "الكمية",
"colCostPrice": "التكلفة / السعر",
"colValue": "القيمة",
"colWeight": "الوزن",
"colPnl": "أرباح/خسائر غير محققة",
"colData": "البيانات",
"priced": "مُسعَّر",
"unpriced": "غير مُسعَّر"
},
"history": {
"title": "تاريخ الأصول",
"hint": "تُعرض اللقطات الكاملة فقط، وقد يشمل التغيّر إيداعات وسحوبات.",
"count": "{{count}} لقطة كاملة",
"empty": "يبدأ السجل بعد أول تحديث كامل"
},
"credentials": {
"title": "الاتصالات وبيانات الاعتماد",
"readOnlyProfile": "ملف للقراءة فقط",
"writableProfile": "ملف يسمح بالكتابة",
"renewalAutomatic": "تجديد يديره الموصل",
"renewalSession": "يعتمد على جلسة محلية",
"renewalProvider": "المزوّد يدير مدة الصلاحية"
},
"status": {
"title": "جارٍ قراءة الحسابات المفعّلة تباعًا",
"reading": "قيد القراءة",
"done": "تم",
"failed": "فشل",
"waiting": "بالانتظار"
},
"env": {
"live": "حي",
"paper": "ورقي"
},
"compatibility": {
"native": "موصل أصلي",
"contractTested": "مختبر بالعقد",
"experimental": "تجريبي"
},
"editor": {
"title": "إدارة حسابات المحفظة",
"subtitle": "يُحفظ هنا اختيار الحسابات وتفضيلات العرض فقط، دون أي بيانات اعتماد.",
"close": "إغلاق",
"currency": "عملة العرض الأساسية",
"selected": "الحسابات المضافة",
"selectedHint": "استخدم سهمي الأعلى والأسفل لتغيير ترتيب العرض.",
"enableAccount": "تفعيل الحساب",
"accountLabel": "اسم الحساب",
"moveUp": "تحريك لأعلى",
"moveDown": "تحريك لأسفل",
"removeAccount": "إزالة الحساب",
"includeCash": "احتساب نقد هذا الحساب",
"noAccounts": "لم يتم اختيار أي حساب",
"addTitle": "إضافة اتصال محلي للقراءة فقط",
"addHint": "اختر من الاتصالات المنشأة مسبقًا على هذا الحاسوب.",
"openConnections": "فتح مركز الاتصالات",
"chooseConnection": "اختر اتصالًا…",
"noConnections": "لا توجد اتصالات متاحة",
"add": "إضافة",
"footerHint": "بعد الحفظ يتم تحديث الحسابات المفعّلة.",
"cancel": "إلغاء",
"save": "حفظ وتحديث",
"saving": "جارٍ الحفظ"
},
"connections": {
"title": "مركز الاتصالات المحلية",
"subtitle": "تبقى التعريفات على هذا الجهاز، والأسرار تذهب فقط إلى خزنة اعتمادات النظام.",
"close": "إغلاق مركز الاتصالات",
"createTitle": "إنشاء اتصال حساب",
"createHint": "الملف قالب عام، أما الاتصال فخاص بهذا الحاسوب وحده.",
"profile": "ملف للقراءة فقط",
"chooseProfile": "اختر ملفًا…",
"localId": "معرّف الاتصال المحلي",
"displayName": "الاسم المعروض",
"displayNamePlaceholder": "حسابي الرئيسي",
"create": "إنشاء اتصال",
"created": "تم إنشاء الاتصال المحلي.",
"listTitle": "الاتصالات على هذا الحاسوب",
"listCount": "{{count}} اتصالات",
"empty": "لا توجد اتصالات محلية بعد",
"codexTitle": "أضف وسيطًا بمساعدة Codex",
"codexBody": "اطلب من Codex تشغيل connector init، ثم كتابة موصل القراءة اعتمادًا على وثائق الوسيط الرسمية، واجتياز validate قبل install. تبقى الإضافة خارج مستودع المشروع.",
"readOnly": "للقراءة فقط",
"credentialSaved": "محفوظ",
"optional": "(اختياري)",
"authType": "المصادقة",
"dependency": "اعتماد محلي",
"oauthNote": "يستخدم OAuth؛ امنح التفويض عبر إعادة الاتصال عند الحاجة.",
"localNote": "تدير بيانات الاعتماد إعدادات الموصل المحلي الحالية.",
"saveVault": "حفظ في الخزنة",
"savedVault": "حُفظت بيانات الاعتماد في خزنة النظام.",
"test": "اختبار",
"testOk": "{{label}} جاهز.",
"testFailed": "فشل اختبار {{label}}: {{error}}",
"unknownTestError": "أرجع الموصل خطأ غير معروف.",
"delete": "حذف",
"configured": "بيانات الاعتماد المطلوبة مضبوطة",
"accountTitle": "الحساب",
"accountCurrent": "يقرأ الحساب المنتهي بـ ····{{last4}}",
"accountNone": "لم يتم اختيار حساب. لن يقرأ هذا الاتصال أي بيانات حتى تختار حسابًا.",
"accountLoad": "اختيار الحساب",
"accountChange": "تغيير الحساب",
"accountEmpty": "لا يصل تسجيل الدخول هذا إلى أي حساب.",
"accountPicker": "الحسابات التي يصل إليها تسجيل الدخول هذا",
"accountChoose": "اختر حسابًا",
"accountDefault": " · الافتراضي لدى الوسيط",
"accountDeactivated": " · معطّل",
"accountSave": "استخدام هذا الحساب",
"accountSaved": "تم حفظ الحساب."
}
}
}