refactor(ux): consolidate BMAD skills, update design system, and clean up Prisma generated client
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"about": {
|
||||
"appDescription": "تطبيق ملاحظات قوي مع ميزات مدعومة بالذكاء الاصطناعي",
|
||||
"appName": "Keep Notes",
|
||||
"appName": "Memento",
|
||||
"buildDate": "تاريخ البناء",
|
||||
"description": "معلومات حول التطبيق",
|
||||
"features": {
|
||||
@@ -69,7 +69,9 @@
|
||||
"providerOllamaOption": "🦙 Ollama (Local & Free)",
|
||||
"providerOpenAIOption": "🤖 OpenAI (GPT-5, GPT-4)",
|
||||
"providerCustomOption": "🔧 Custom OpenAI-Compatible",
|
||||
"saved": "(تم الحفظ)"
|
||||
"saved": "(تم الحفظ)",
|
||||
"chatProvider": "مزود الدردشة",
|
||||
"chatDescription": "مزود الذكاء الاصطناعي لمساعد الدردشة. يستخدم مزود الوسوم إذا لم يتم تكوينه."
|
||||
},
|
||||
"aiTest": {
|
||||
"description": "اختبر مزودي الذكاء الاصطناعي لتوليد الوسوم وتضمينات البحث الدلالي",
|
||||
@@ -93,7 +95,22 @@
|
||||
"tipDescription": "استخدم لوحة اختبار الذكاء الاصطناعي لتشخيص مشاكل التكوين قبل الاختبار.",
|
||||
"tipTitle": "نصيحة:",
|
||||
"title": "اختبار مزود الذكاء الاصطناعي",
|
||||
"vectorDimensions": "أبعاد المتجه"
|
||||
"vectorDimensions": "أبعاد المتجه",
|
||||
"tagsGenerationTest": "🏷️ اختبار توليد الوسوم:",
|
||||
"tagsStep1": "يرسل ملاحظة نموذجية إلى مزود الذكاء الاصطناعي",
|
||||
"tagsStep2": "يطلب 3-5 وسوم ذات صلة بناءً على المحتوى",
|
||||
"tagsStep3": "يعرض الوسوم المولدة مع درجات الثقة",
|
||||
"tagsStep4": "يقيس وقت الاستجابة",
|
||||
"embeddingsTestLabel": "🔍 اختبار التضمينات:",
|
||||
"embeddingsStep1": "يرسل نصاً نموذجياً إلى مزود التضمينات",
|
||||
"embeddingsStep2": "ينشئ تمثيلاً متجهياً (قائمة أرقام)",
|
||||
"embeddingsStep3": "يعرض أبعاد التضمين وقيم نموذجية",
|
||||
"embeddingsStep4": "يتحقق من أن المتجه صالح ومنسق بشكل صحيح",
|
||||
"tipContent": "يمكنك استخدام مزودين مختلفين للوسوم والتضمينات! استخدم Ollama (مجاني) للوسوم و OpenAI (أفضل جودة) للتضمينات لتحسين التكلفة والأداء.",
|
||||
"testSuccessToast": "نجح اختبار {type}!",
|
||||
"testFailedToast": "فشل اختبار {type}",
|
||||
"testingType": "جاري اختبار {type}...",
|
||||
"technicalDetails": "التفاصيل التقنية"
|
||||
},
|
||||
"aiTesting": "اختبار الذكاء الاصطناعي",
|
||||
"security": {
|
||||
@@ -105,6 +122,22 @@
|
||||
"updateSuccess": "تم تحديث إعدادات الأمان"
|
||||
},
|
||||
"settings": "إعدادات المشرف",
|
||||
"resend": {
|
||||
"title": "Resend (موصى به)",
|
||||
"description": "إرسال رسائل البريد عبر واجهة برمجة Resend. يُفضل على SMTP إذا تم تكوينه.",
|
||||
"apiKey": "مفتاح API لـ Resend",
|
||||
"apiKeyHint": "احصل على مفتاح API من resend.com. يُستخدم لإشعارات الوكلاء وإعادة تعيين كلمة المرور.",
|
||||
"saveSettings": "حفظ إعدادات Resend",
|
||||
"updateSuccess": "تم تحديث إعدادات Resend",
|
||||
"updateFailed": "فشل تحديث إعدادات Resend",
|
||||
"configured": "تم تكوين Resend وهو نشط"
|
||||
},
|
||||
"email": {
|
||||
"title": "إعدادات البريد الإلكتروني",
|
||||
"description": "تكوين إرسال البريد الإلكتروني لإشعارات الوكلاء وإعادة تعيين كلمة المرور.",
|
||||
"provider": "مزود البريد الإلكتروني",
|
||||
"saveSettings": "حفظ إعدادات البريد الإلكتروني"
|
||||
},
|
||||
"smtp": {
|
||||
"description": "تكوين خادم البريد الإلكتروني لإعادة تعيين كلمة المرور.",
|
||||
"forceSSL": "فرض SSL/TLS (عادة للمنفذ 465)",
|
||||
@@ -153,6 +186,38 @@
|
||||
"name": "الاسم",
|
||||
"role": "الدور"
|
||||
}
|
||||
},
|
||||
"chat": "AI Chat",
|
||||
"lab": "The Lab",
|
||||
"agents": "Agents",
|
||||
"workspace": "Workspace",
|
||||
"sidebar": {
|
||||
"dashboard": "لوحة التحكم",
|
||||
"users": "المستخدمون",
|
||||
"aiManagement": "إدارة الذكاء الاصطناعي",
|
||||
"chat": "دردشة الذكاء الاصطناعي",
|
||||
"lab": "المختبر (أفكار)",
|
||||
"agents": "الوكلاء",
|
||||
"settings": "الإعدادات"
|
||||
},
|
||||
"metrics": {
|
||||
"vsLastPeriod": "vs الفترة السابقة"
|
||||
},
|
||||
"tools": {
|
||||
"title": "أدوات الوكيل",
|
||||
"description": "تكوين الأدوات الخارجية لاستخدام أدوات الوكيل: بحث الويب، استخراج الويب، والوصول إلى API.",
|
||||
"searchProvider": "مزود بحث الويب",
|
||||
"searxng": "SearXNG (مستضاف ذاتيًا)",
|
||||
"brave": "Brave Search API",
|
||||
"both": "كلاهما (SearXNG أساسي، Brave احتياطي)",
|
||||
"searxngUrl": "رابط SearXNG",
|
||||
"braveKey": "مفتاح Brave Search API",
|
||||
"jinaKey": "مفتاح Jina Reader API",
|
||||
"jinaKeyOptional": "اختياري — يعمل بدونه ولكن مع حدود معدل",
|
||||
"jinaKeyDescription": "يُستخدم لاستخراج الويب. يعمل بدون مفتاح ولكن مع حدود معدل.",
|
||||
"saveSettings": "حفظ إعدادات الأدوات",
|
||||
"updateSuccess": "تم تحديث إعدادات الأدوات بنجاح",
|
||||
"updateFailed": "فشل تحديث إعدادات الأدوات"
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
@@ -201,7 +266,8 @@
|
||||
"languageDetected": "تم اكتشاف اللغة",
|
||||
"notebookSummary": {
|
||||
"regenerate": "إعادة إنشاء الملخص",
|
||||
"regenerating": "إعادة إنشاء الملخص..."
|
||||
"regenerating": "إعادة إنشاء الملخص...",
|
||||
"exportPDF": "تصدير كـ PDF"
|
||||
},
|
||||
"original": "الأصلي",
|
||||
"poweredByAI": "مدعوم بالذكاء الاصطناعي",
|
||||
@@ -229,7 +295,21 @@
|
||||
"transformError": "خطأ أثناء التحويل",
|
||||
"transformMarkdown": "التحويل إلى Markdown",
|
||||
"transformSuccess": "تم تحويل النص إلى Markdown بنجاح!",
|
||||
"transforming": "جاري التحويل..."
|
||||
"transforming": "جاري التحويل...",
|
||||
"clarifyDesc": "جعل النص أوضح وأسهل للفهم",
|
||||
"shortenDesc": "تلخيص النص والوصول إلى النقطة",
|
||||
"improve": "تحسين الكتابة",
|
||||
"improveDesc": "تصحيح القواعد وتحسين الأسلوب",
|
||||
"toMarkdown": "تنسيق كـ Markdown",
|
||||
"toMarkdownDesc": "إضافة عناوين ونقاط وهيكلة النص",
|
||||
"translate": "ترجمة",
|
||||
"translateDesc": "تغيير لغة النص",
|
||||
"translateBack": "رجوع",
|
||||
"translationApplied": "تم تطبيق الترجمة",
|
||||
"translationFailed": "فشلت الترجمة",
|
||||
"undo": "تراجع عن الذكاء الاصطناعي",
|
||||
"undoAI": "تراجع عن تحويل الذكاء الاصطناعي",
|
||||
"undoApplied": "تم استعادة النص الأصلي"
|
||||
},
|
||||
"aiSettings": {
|
||||
"description": "تكوين ميزاتك وتفضيلاتك المدعومة بالذكاء الاصطناعي",
|
||||
@@ -255,7 +335,11 @@
|
||||
},
|
||||
"appearance": {
|
||||
"description": "تخصيص مظهر التطبيق",
|
||||
"title": "المظهر"
|
||||
"title": "المظهر",
|
||||
"notesViewDescription": "اختر كيفية عرض الملاحظات على الصفحة الرئيسية وفي الدفاتر.",
|
||||
"notesViewLabel": "عرض الملاحظات",
|
||||
"notesViewTabs": "علامات تبويب (نمط OneNote)",
|
||||
"notesViewMasonry": "بطاقات (شبكة)"
|
||||
},
|
||||
"auth": {
|
||||
"backToLogin": "العودة إلى تسجيل الدخول",
|
||||
@@ -514,30 +598,9 @@
|
||||
"clearAll": "Clear all",
|
||||
"confirmDelete": "Are you sure you want to delete this label?",
|
||||
"count": "{count} labels",
|
||||
"createLabel": "Create label",
|
||||
"delete": "Delete",
|
||||
"deleteTooltip": "Delete label",
|
||||
"editLabels": "Edit Labels",
|
||||
"editLabelsDescription": "Create, edit colors, or delete labels.",
|
||||
"filter": "Filter by Label",
|
||||
"filterByLabel": "Filter by label",
|
||||
"labelColor": "Label color",
|
||||
"labelName": "Label name",
|
||||
"loading": "Loading...",
|
||||
"manage": "Manage Labels",
|
||||
"manageLabels": "Manage labels",
|
||||
"manageLabelsDescription": "Add or remove labels for this note. Click on a label to change its color.",
|
||||
"manageTooltip": "Manage Labels",
|
||||
"namePlaceholder": "Enter label name",
|
||||
"newLabelPlaceholder": "Create new label",
|
||||
"noLabels": "No labels",
|
||||
"noLabelsFound": "No labels found.",
|
||||
"notebookRequired": "⚠️ Labels are only available in notebooks. Move this note to a notebook first.",
|
||||
"selectedLabels": "Selected Labels",
|
||||
"showLess": "Show less",
|
||||
"showMore": "Show more",
|
||||
"tagAdded": "Tag \"{tag}\" added",
|
||||
"title": "Labels"
|
||||
"confirmDeleteShort": "Confirm?",
|
||||
"labelRemoved": "Label \"{label}\" removed"
|
||||
},
|
||||
"memoryEcho": {
|
||||
"clickToView": "انقر لعرض الملاحظة",
|
||||
@@ -611,7 +674,8 @@
|
||||
"thanksFeedback": "شكراً على ملاحظاتك!",
|
||||
"thanksFeedbackImproving": "شكراً! سنستخدم هذا للتحسين.",
|
||||
"title": "لاحظت شيئاً ما...",
|
||||
"viewConnection": "عرض الاتصال"
|
||||
"viewConnection": "عرض الاتصال",
|
||||
"match": "{percentage}% تطابق"
|
||||
},
|
||||
"nav": {
|
||||
"accountSettings": "إعدادات الحساب",
|
||||
@@ -646,7 +710,10 @@
|
||||
"supportDevelopment": "دعم تطوير Memento ☕",
|
||||
"trash": "المهملات",
|
||||
"userManagement": "إدارة المستخدمين",
|
||||
"workspace": "مساحة العمل"
|
||||
"workspace": "مساحة العمل",
|
||||
"chat": "دردشة الذكاء الاصطناعي",
|
||||
"lab": "المختبر",
|
||||
"agents": "الوكلاء"
|
||||
},
|
||||
"notebook": {
|
||||
"cancel": "إلغاء",
|
||||
@@ -667,7 +734,16 @@
|
||||
"selectIcon": "الأيقونة",
|
||||
"summary": "ملخص الدفتر",
|
||||
"summaryDescription": "إنشاء ملخص مدعوم بالذكاء الاصطناعي لجميع الملاحظات في هذا الدفتر.",
|
||||
"summaryError": "خطأ في إنشاء الملخص"
|
||||
"summaryError": "خطأ في إنشاء الملخص",
|
||||
"namePlaceholder": "مثال: استراتيجية التسويق الربع سنوية",
|
||||
"myNotebook": "دفتري",
|
||||
"saving": "جاري الحفظ...",
|
||||
"pdfTitle": "ملخص — {name}",
|
||||
"pdfNotesLabel": "الملاحظات:",
|
||||
"pdfGeneratedOn": "تم الإنشاء في:",
|
||||
"confidence": "ثقة",
|
||||
"savingReminder": "خطأ في حفظ التذكير",
|
||||
"removingReminder": "خطأ في إزالة التذكير"
|
||||
},
|
||||
"notebookSuggestion": {
|
||||
"description": "يبدو أن هذه الملاحظة تنتمي إلى هذا الدفتر",
|
||||
@@ -676,7 +752,7 @@
|
||||
"generalNotes": "الملاحظات العامة",
|
||||
"move": "نقل",
|
||||
"moveToNotebook": "النقل إلى الدفتر",
|
||||
"title": "النقل إلى {icon} {name}؟"
|
||||
"title": "النقل إلى {name}؟"
|
||||
},
|
||||
"notebooks": {
|
||||
"allNotebooks": "جميع الدفاتر",
|
||||
@@ -784,7 +860,16 @@
|
||||
"unpinned": "غير مثبت",
|
||||
"untitled": "بدون عنوان",
|
||||
"uploadFailed": "فشل في رفع {filename}",
|
||||
"view": "عرض الملاحظة"
|
||||
"view": "عرض الملاحظة",
|
||||
"emptyStateTabs": "لا توجد ملاحظات في هذا العرض. استخدم \"ملاحظة جديدة\" في الشريط الجانبي (اقتراحات عناوين بالذكاء الاصطناعي متاحة).",
|
||||
"viewCards": "عرض البطاقات",
|
||||
"viewCardsTooltip": "شبكة بطاقات مع إعادة ترتيب بالسحب والإفلات",
|
||||
"viewTabs": "عرض القائمة",
|
||||
"viewTabsTooltip": "علامات تبويب أعلى، الملاحظة أسفل — اسحب للترتيب",
|
||||
"viewModeGroup": "وضع عرض الملاحظات",
|
||||
"reorderTabs": "إعادة ترتيب علامة التبويب",
|
||||
"modified": "معدلة",
|
||||
"created": "منشأة"
|
||||
},
|
||||
"pagination": {
|
||||
"next": "→",
|
||||
@@ -909,7 +994,18 @@
|
||||
"themeLight": "فاتح",
|
||||
"themeSystem": "النظام",
|
||||
"title": "الإعدادات",
|
||||
"version": "الإصدار"
|
||||
"version": "الإصدار",
|
||||
"cleanupDone": "تمت مزامنة {created} تسمية، حذف {deleted} يتيمة",
|
||||
"cleanupNothing": "لا حاجة لأي إجراء — التسميات متزامنة بالفعل مع ملاحظاتك",
|
||||
"cleanupWithErrors": "بعض العمليات فشلت",
|
||||
"cleanupError": "تعذر تنظيف التسميات",
|
||||
"indexingComplete": "اكتملت الفهرسة: تمت معالجة {count} ملاحظة",
|
||||
"indexingError": "خطأ أثناء الفهرسة",
|
||||
"emailNotifications": "إشعارات البريد الإلكتروني",
|
||||
"emailNotificationsDesc": "تلقي إشعارات مهمة عبر البريد الإلكتروني",
|
||||
"desktopNotifications": "إشعارات سطح المكتب",
|
||||
"desktopNotificationsDesc": "تلقي إشعارات في المتصفح",
|
||||
"notificationsDesc": "إدارة تفضيلات الإشعارات"
|
||||
},
|
||||
"sidebar": {
|
||||
"archive": "Archive",
|
||||
@@ -917,7 +1013,10 @@
|
||||
"labels": "Labels",
|
||||
"notes": "Notes",
|
||||
"reminders": "Reminders",
|
||||
"trash": "Trash"
|
||||
"trash": "Trash",
|
||||
"newNoteTabs": "ملاحظة جديدة",
|
||||
"newNoteTabsHint": "إنشاء ملاحظة في هذا الدفتر",
|
||||
"noLabelsInNotebook": "لا توجد تسميات في هذا الدفتر"
|
||||
},
|
||||
"support": {
|
||||
"aiApiCosts": "تكاليف AI API:",
|
||||
@@ -987,10 +1086,19 @@
|
||||
"thanksFeedbackImproving": "شكراً! سنستخدم هذا للتحسين."
|
||||
},
|
||||
"trash": {
|
||||
"deletePermanently": "حذف نهائياً",
|
||||
"empty": "المهملات فارغة",
|
||||
"title": "سلة المحذوفات",
|
||||
"empty": "سلة المحذوفات فارغة",
|
||||
"emptyDescription": "ستظهر الملاحظات المحذوفة هنا",
|
||||
"restore": "استعادة",
|
||||
"title": "المهملات"
|
||||
"deletePermanently": "حذف نهائي",
|
||||
"noteTrashed": "تم نقل الملاحظة إلى سلة المحذوفات",
|
||||
"noteRestored": "تم استعادة الملاحظة",
|
||||
"notePermanentlyDeleted": "تم حذف الملاحظة نهائيًا",
|
||||
"emptyTrash": "إفراغ سلة المحذوفات",
|
||||
"emptyTrashConfirm": "حذف جميع الملاحظات في سلة المحذوفات نهائيًا؟",
|
||||
"emptyTrashSuccess": "تم إفراغ سلة المحذوفات",
|
||||
"permanentDelete": "حذف نهائي",
|
||||
"permanentDeleteConfirm": "سيتم حذف هذه الملاحظة نهائيًا. لا يمكن التراجع عن هذا الإجراء."
|
||||
},
|
||||
"ui": {
|
||||
"close": "إغلاق",
|
||||
@@ -1003,7 +1111,7 @@
|
||||
"description": "إدارة مفاتيح API وتكوين الأدوات الخارجية",
|
||||
"whatIsMcp": {
|
||||
"title": "ما هو MCP؟",
|
||||
"description": "بروتوكول سياق النموذج (MCP) هو بروتوكول مفتوح يمكّن نماذج الذكاء الاصطناعي من التفاعل بأمان مع الأدوات ومصادر البيانات الخارجية. باستخدام MCP، يمكنك ربط أدوات مثل Claude Code و Cursor و N8N بمثيل Keep Notes الخاص بك لقراءة ملاحظاتك وإنشائها وتنظيمها برمجيًا.",
|
||||
"description": "بروتوكول سياق النموذج (MCP) هو بروتوكول مفتوح يمكّن نماذج الذكاء الاصطناعي من التفاعل بأمان مع الأدوات ومصادر البيانات الخارجية. باستخدام MCP، يمكنك ربط أدوات مثل Claude Code و Cursor و N8N بمثيل Memento الخاص بك لقراءة ملاحظاتك وإنشائها وتنظيمها برمجيًا.",
|
||||
"learnMore": "معرفة المزيد عن MCP"
|
||||
},
|
||||
"serverStatus": {
|
||||
@@ -1057,5 +1165,241 @@
|
||||
"description": "استخدم بيانات الاعتماد هذه في عقدة N8N MCP:"
|
||||
}
|
||||
}
|
||||
},
|
||||
"agents": {
|
||||
"title": "الوكلاء",
|
||||
"subtitle": "أتمتة مهام المراقبة والبحث الخاصة بك",
|
||||
"newAgent": "وكيل جديد",
|
||||
"myAgents": "وكلائي",
|
||||
"noAgents": "لا يوجد وكلاء",
|
||||
"noAgentsDescription": "أنشئ أول وكيل لك أو ثبّت قالبًا أدناه لأتمتة مهام المراقبة.",
|
||||
"types": {
|
||||
"scraper": "مراقب",
|
||||
"researcher": "باحث",
|
||||
"monitor": "مراقب",
|
||||
"custom": "مخصص"
|
||||
},
|
||||
"typeDescriptions": {
|
||||
"scraper": "يجمع البيانات من عدة مواقع وينشئ ملخصًا",
|
||||
"researcher": "يبحث عن معلومات حول موضوع معين",
|
||||
"monitor": "يراقب دفتر ملاحظات ويحلل الملاحظات",
|
||||
"custom": "وكيل حر بموجهك الخاص"
|
||||
},
|
||||
"form": {
|
||||
"agentType": "نوع الوكيل",
|
||||
"name": "الاسم",
|
||||
"namePlaceholder": "مثال: مراقبة الذكاء الاصطناعي الثلاثاء",
|
||||
"description": "الوصف (اختياري)",
|
||||
"descriptionPlaceholder": "ملخص أخبار الذكاء الاصطناعي الأسبوعي",
|
||||
"urlsLabel": "روابط URLs للجمع",
|
||||
"urlsOptional": "(اختياري)",
|
||||
"sourceNotebook": "دفتر الملاحظات للمراقبة",
|
||||
"selectNotebook": "اختر دفتر ملاحظات...",
|
||||
"targetNotebook": "دفتر الملاحظات الهدف",
|
||||
"inbox": "صندوق الوارد",
|
||||
"instructions": "تعليمات الذكاء الاصطناعي",
|
||||
"instructionsPlaceholder": "صف سلوك الوكيل...",
|
||||
"frequency": "التكرار",
|
||||
"cancel": "إلغاء",
|
||||
"saving": "جاري الحفظ...",
|
||||
"save": "حفظ",
|
||||
"create": "إنشاء وكيل",
|
||||
"editTitle": "تعديل الوكيل",
|
||||
"createTitle": "وكيل جديد",
|
||||
"nameRequired": "الاسم مطلوب",
|
||||
"addUrl": "إضافة رابط URL",
|
||||
"advancedMode": "الوضع المتقدم",
|
||||
"instructionsHint": "يستبدل المطالبة التلقائية",
|
||||
"researchTopic": "موضوع البحث",
|
||||
"researchTopicPlaceholder": "مثال: أحدث التطورات في الذكاء الاصطناعي",
|
||||
"notifyEmail": "إشعار بالبريد الإلكتروني",
|
||||
"notifyEmailHint": "استلام بريد إلكتروني بنتائج الوكيل بعد كل تشغيل"
|
||||
},
|
||||
"frequencies": {
|
||||
"manual": "يدوي",
|
||||
"hourly": "كل ساعة",
|
||||
"daily": "يومي",
|
||||
"weekly": "أسبوعي",
|
||||
"monthly": "شهري"
|
||||
},
|
||||
"status": {
|
||||
"success": "نجح",
|
||||
"failure": "فشل",
|
||||
"running": "قيد التشغيل",
|
||||
"pending": "قيد الانتظار"
|
||||
},
|
||||
"actions": {
|
||||
"edit": "تعديل",
|
||||
"run": "تشغيل",
|
||||
"delete": "حذف",
|
||||
"deleteConfirm": "حذف الوكيل \"{name}\"؟",
|
||||
"toggleOn": "تم تفعيل الوكيل",
|
||||
"toggleOff": "تم تعطيل الوكيل"
|
||||
},
|
||||
"toasts": {
|
||||
"created": "تم إنشاء الوكيل",
|
||||
"updated": "تم تحديث الوكيل",
|
||||
"deleted": "تم حذف \"{name}\"",
|
||||
"deleteError": "خطأ في الحذف",
|
||||
"runSuccess": "تم تنفيذ \"{name}\" بنجاح",
|
||||
"runError": "خطأ: {error}",
|
||||
"runFailed": "فشل التنفيذ",
|
||||
"runGenericError": "خطأ أثناء التنفيذ",
|
||||
"toggleError": "خطأ في تبديل الوكيل",
|
||||
"installSuccess": "تم تثبيت \"{name}\"",
|
||||
"installError": "خطأ أثناء التثبيت",
|
||||
"saveError": "خطأ في الحفظ"
|
||||
},
|
||||
"templates": {
|
||||
"title": "القوالب",
|
||||
"install": "تثبيت",
|
||||
"installing": "جاري التثبيت...",
|
||||
"veilleAI": {
|
||||
"name": "مراقبة الذكاء الاصطناعي",
|
||||
"description": "يجمع البيانات من 5 مواقع متخصصة في الذكاء الاصطناعي وينشئ ملخصًا أسبوعيًا."
|
||||
},
|
||||
"veilleTech": {
|
||||
"name": "مراقبة التقنية",
|
||||
"description": "يجمع البيانات من مواقع تقنية رئيسية وينشئ ملخص أخبار."
|
||||
},
|
||||
"veilleDev": {
|
||||
"name": "مراقبة التطوير",
|
||||
"description": "يجمع البيانات من مواقع التطوير ويلخص التقنيات والأطر الجديدة."
|
||||
},
|
||||
"surveillant": {
|
||||
"name": "مراقب الملاحظات",
|
||||
"description": "يحلل الملاحظات الأخيرة في دفتر ملاحظات ويقترح مكملات ومراجع وروابط."
|
||||
},
|
||||
"chercheur": {
|
||||
"name": "باحث المواضيع",
|
||||
"description": "يبحث عن معلومات متعمقة حول موضوع وينشئ ملاحظة منظمة بمراجع."
|
||||
}
|
||||
},
|
||||
"runLog": {
|
||||
"title": "السجل",
|
||||
"noHistory": "لا يوجد سجل تنفيذ بعد",
|
||||
"toolTrace": "{count} استدعاءات أدوات",
|
||||
"step": "الخطوة {num}"
|
||||
},
|
||||
"tools": {
|
||||
"title": "أدوات الوكيل",
|
||||
"webSearch": "بحث الويب",
|
||||
"webScrape": "استخراج الويب",
|
||||
"noteSearch": "بحث الملاحظات",
|
||||
"noteRead": "قراءة الملاحظة",
|
||||
"noteCreate": "إنشاء ملاحظة",
|
||||
"urlFetch": "جلب رابط",
|
||||
"memorySearch": "الذاكرة",
|
||||
"configNeeded": "إعدادات",
|
||||
"selected": "{count} محدد",
|
||||
"maxSteps": "الحد الأقصى للتكرارات"
|
||||
},
|
||||
"metadata": {
|
||||
"executions": "{count} تنفيذ"
|
||||
},
|
||||
"defaultRoles": {
|
||||
"scraper": "أنت مساعد مراقبة. قم بتجميع المقالات من مواقع مختلفة في ملخص واضح ومنظم.",
|
||||
"researcher": "أنت باحث دقيق. للموضوع المطلوب، أنشئ ملاحظة بحثية بالسياق والنقاط الرئيسية والمناقشات والمراجع.",
|
||||
"monitor": "أنت مساعد تحليلي. حلل الملاحظات المقدمة واقترح اتجاهات ومراجع وروابط بين الملاحظات.",
|
||||
"custom": "أنت مساعد مفيد."
|
||||
},
|
||||
"help": {
|
||||
"title": "دليل الوكلاء",
|
||||
"btnLabel": "مساعدة",
|
||||
"close": "إغلاق",
|
||||
"whatIsAgent": "ما هو الوكيل؟",
|
||||
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, web scraping, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or scrapes information, then writes a structured note you can read later.",
|
||||
"howToUse": "كيف تستخدم وكيلًا؟",
|
||||
"howToUseContent": "1. Click **\"New Agent\"** (or start from a **Template** at the bottom of the page)\n2. Choose an **agent type** (Researcher, Monitor, Observer, Custom)\n3. Give it a **name** and fill in the type-specific fields\n4. Optionally pick a **target notebook** where results will be saved\n5. Choose a **frequency** (Manual = you trigger it yourself)\n6. Click **Create**, then hit the **Run** button on the agent card\n7. Once finished, a new note appears in your target notebook",
|
||||
"types": "أنواع الوكلاء",
|
||||
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, web scraping, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor (Scraper)\nScrapes a **list of URLs** you specify and produces a summary of their content.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** web scraping, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
||||
"advanced": "الوضع المتقدم (تعليمات الذكاء الاصطناعي، الحد الأقصى للتكرارات)",
|
||||
"advancedContent": "Click **\"Advanced mode\"** at the bottom of the form to access additional settings.\n\n### AI Instructions\n\nThis field lets you **replace the default system prompt** for the agent. If left empty, the agent uses an automatic prompt adapted to its type.\n\n**Why use it?** You want to control exactly how the agent behaves. For example:\n- \"Write the summary in English, even if sources are in French\"\n- \"Structure the note with sections: Context, Key Points, Personal Opinion\"\n- \"Ignore articles older than 30 days and focus on recent news\"\n- \"For each detected theme, suggest 3 follow-up leads with links\"\n\n> **Note:** Your instructions replace the defaults, they don't add to them.\n\n### Max iterations\n\nThis is the **maximum number of cycles** the agent can perform. One cycle = the agent thinks, calls a tool, reads the result, then decides the next action.\n\n- **3-5 iterations:** for simple tasks (scraping a single page)\n- **10 iterations (default):** good balance for most cases\n- **15-25 iterations:** for deep research where the agent needs to explore multiple leads\n\n> **Warning:** More iterations = more time and potentially higher API costs.",
|
||||
"tools": "الأدوات المتاحة (التفاصيل)",
|
||||
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, and can then scrape the most relevant pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then scrapes the top 3.\n\n### Web Scrape\nAllows the agent to **extract text content from a web page** given its URL.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
||||
"frequency": "التكرار والجدولة",
|
||||
"frequencyContent": "| Frequency | Behavior\n|-----------|----------\n| **Manual** | You click \"Run\" yourself — no automatic scheduling\n| **Hourly** | Runs every hour\n| **Daily** | Runs once per day\n| **Weekly** | Runs once per week\n| **Monthly** | Runs once per month\n\n> **Tip:** Start with \"Manual\" to test your agent, then switch to an automatic frequency once you're satisfied with the results.",
|
||||
"targetNotebook": "دفتر الملاحظات المستهدف",
|
||||
"targetNotebookContent": "When an agent finishes its task, it **creates a note**. The **target notebook** determines where that note goes:\n\n- **Inbox** (default) — the note goes to your general notes\n- **Specific notebook** — choose a notebook to keep agent results organized\n\n> **Tip:** Create a dedicated notebook like \"Agent Reports\" to keep all automated content in one place.",
|
||||
"templates": "القوالب",
|
||||
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
||||
"tips": "نصائح وحل المشكلات",
|
||||
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Web scraping quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
||||
"tooltips": {
|
||||
"agentType": "اختر نوع المهمة التي سيقوم بها الوكيل. كل نوع لديه قدرات وحقول مختلفة.",
|
||||
"researchTopic": "الموضوع الذي سيبحث عنه الوكيل على الويب. كن محددًا للحصول على نتائج أفضل.",
|
||||
"description": "وصف قصير لما يفعله هذا الوكيل. يساعدك على تذكر غرضه.",
|
||||
"urls": "قائمة المواقع لاستخراج المحتوى. سيزور الوكيل كل رابط ويستخرج المحتوى.",
|
||||
"sourceNotebook": "الدفتر الذي سيحلله الوكيل. يقرأ الملاحظات من هذا الدفتر لإيجاد الروابط والموضوعات.",
|
||||
"targetNotebook": "حيث سيتم حفظ ملاحظة نتيجة الوكيل. اختر صندوق الوارد أو دفترًا محددًا.",
|
||||
"frequency": "كم مرة يعمل الوكيل تلقائيًا. ابدأ بيدوي للاختبار.",
|
||||
"instructions": "تعليمات مخصصة تحل محل موجه الذكاء الاصطناعي الافتراضي. اتركه فارغًا لاستخدام التلقائي.",
|
||||
"tools": "حدد الأدوات التي يمكن للوكيل استخدامها. كل أداة تمنح الوكيل قدرة محددة.",
|
||||
"maxSteps": "الحد الأقصى لدورات الاستدلال. خطوات أكثر = تحليل أعمق لكن يستغرق وقتًا أطول."
|
||||
}
|
||||
}
|
||||
},
|
||||
"chat": {
|
||||
"title": "محادثة الذكاء الاصطناعي",
|
||||
"subtitle": "تحدث مع ملاحظاتك ووكلاء الذكاء الاصطناعي",
|
||||
"newConversation": "محادثة جديدة",
|
||||
"noHistory": "لا يوجد سجل",
|
||||
"untitled": "محادثة بدون عنوان",
|
||||
"deleteConfirm": "حذف هذه المحادثة؟",
|
||||
"yes": "نعم",
|
||||
"placeholder": "أرسل رسالة إلى المساعد...",
|
||||
"allNotebooks": "جميع دفاتر الملاحظات",
|
||||
"inAllNotebooks": "في جميع دفاتر الملاحظات",
|
||||
"active": "نشط",
|
||||
"disclaimer": "قد يخطئ الذكاء الاصطناعي. تحقق من المعلومات المهمة.",
|
||||
"assistantError": "خطأ في المساعد",
|
||||
"loadError": "خطأ في تحميل المحادثة",
|
||||
"createError": "خطأ في إنشاء المحادثة",
|
||||
"deleteError": "خطأ في الحذف",
|
||||
"renamed": "تمت إعادة تسمية المحادثة",
|
||||
"renameError": "خطأ في إعادة التسمية",
|
||||
"welcome": "أنا هنا لمساعدتك في تلخيص ملاحظاتك أو إنشاء أفكار جديدة أو مناقشة دفاتر ملاحظاتك.",
|
||||
"searching": "جاري البحث...",
|
||||
"noNotesFoundForContext": "لم يتم العثور على ملاحظات ذات صلة لهذا السؤال. أجب باستخدام معرفتك العامة."
|
||||
},
|
||||
"labHeader": {
|
||||
"title": "المختبر",
|
||||
"live": "مباشر",
|
||||
"currentProject": "المشروع الحالي",
|
||||
"choose": "اختر...",
|
||||
"yourSpaces": "مساحاتك",
|
||||
"updated": "محدث",
|
||||
"newSpace": "مساحة تفكير جديدة",
|
||||
"new": "جديد",
|
||||
"renamed": "تمت إعادة تسمية المساحة",
|
||||
"renameError": "خطأ في إعادة التسمية",
|
||||
"created": "تم إنشاء مساحة جديدة",
|
||||
"createFailed": "فشل الإنشاء",
|
||||
"deleteSpace": "حذف المساحة",
|
||||
"deleted": "تم حذف المساحة",
|
||||
"deleteError": "خطأ في الحذف"
|
||||
},
|
||||
"notification": {
|
||||
"shared": "شارك \"{title}\"",
|
||||
"untitled": "بدون عنوان",
|
||||
"notifications": "الإشعارات",
|
||||
"accept": "Accept",
|
||||
"accepted": "Share accepted",
|
||||
"decline": "Decline",
|
||||
"declined": "تم رفض المشاركة",
|
||||
"noNotifications": "No new notifications",
|
||||
"removed": "تمت إزالة الملاحظة من القائمة"
|
||||
},
|
||||
"reminders": {
|
||||
"title": "التذكيرات",
|
||||
"empty": "لا توجد تذكيرات",
|
||||
"emptyDescription": "أضف تذكيراً إلى ملاحظة لتجده هنا.",
|
||||
"upcoming": "قادمة",
|
||||
"overdue": "متأخرة",
|
||||
"done": "مكتملة",
|
||||
"markDone": "وضع علامة مكتمل",
|
||||
"markUndone": "وضع علامة غير مكتمل",
|
||||
"todayAt": "اليوم في {time}",
|
||||
"tomorrowAt": "غداً في {time}"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user