export default {
  translation: {
    common: {
      confirm: 'تأكيد',
      back: 'رجوع',
      noResults: 'لا توجد نتائج',
      selectPlaceholder: 'اختر قيمة',
      selectAll: 'تحديد الكل',
      delete: 'حذف',
      deleteModalTitle: 'هل أنت متأكد من الحذف؟',
      deleteThem: 'هل أنت متأكد من حذفها؟',
      ok: 'موافق',
      cancel: 'إلغاء',
      yes: 'نعم',
      no: 'لا',
      total: 'الإجمالي',
      rename: 'إعادة تسمية',
      name: 'الاسم',
      save: 'حفظ',
      namePlaceholder: 'يرجى إدخال الاسم',
      next: 'التالي',
      create: 'إنشاء',
      edit: 'تعديل',
      upload: 'رفع',
      english: 'الإنجليزية',
      portugueseBr: 'البرتغالية (البرازيل)',
      chinese: 'الصينية المبسطة',
      traditionalChinese: 'الصينية التقليدية',
      russian: 'الروسية',
      indonesian: 'الإندونيسية',
      indonesia: 'الإندونيسية',
      spanish: 'الإسبانية',
      vietnamese: 'الفيتنامية',
      japanese: 'اليابانية',
      german: 'الألمانية',
      french: 'الفرنسية',
      italian: 'الإيطالية',
      bulgarian: 'البلغارية',
      arabic: 'العربية',
      language: 'اللغة',
      languageMessage: 'يرجى إدخال لغتك!',
      languagePlaceholder: 'اختر لغتك',
      copy: 'نسخ',
      copied: 'تم النسخ',
      comingSoon: 'قريبًا',
      download: 'تنزيل',
      close: 'إغلاق',
      preview: 'معاينة',
      move: 'نقل',
      warn: 'تحذير',
      action: 'إجراء',
      s: 'س',
      pleaseSelect: 'يرجى الاختيار',
      pleaseInput: 'يرجى الإدخال',
      submit: 'إرسال',
      clear: 'مسح',
      embedIntoSite: 'تضمين في صفحة الويب',
      openInNewTab: 'الدردشة في علامة تبويب جديدة',
      previousPage: 'سابق',
      nextPage: 'التالي',
      add: 'يضيف',
      remove: 'يزيل',
      search: 'بحث',
      noDataFound: 'لم يتم العثور على بيانات.',
      noData: 'لا توجد بيانات',
      promptPlaceholder: 'الرجاء إدخال أو استخدام / لإدراج المتغيرات بسرعة.',
      mcp: {
        namePlaceholder: 'خادم MCP الخاص بي',
        nameRequired:
          'يجب أن يتراوح طوله من 1 إلى 64 حرفًا ويمكن أن يحتوي فقط على أحرف وأرقام وواصلات وشرطات سفلية.',
        urlPlaceholder: 'https://api.example.com/v1/mcp',
        tokenPlaceholder: 'على سبيل المثال eyJhbGciOiJIUzI1Ni...',
      },
      selected: 'محدد',
      seeAll: 'عرض الكل',
    },
    login: {
      loginTitle: 'سجّل الدخول إلى حسابك',
      signUpTitle: 'إنشاء حساب',
      login: 'تسجيل الدخول',
      signUp: 'إنشاء حساب',
      loginDescription: 'نحن متحمسون جدًا لرؤيتك مرة أخرى!',
      registerDescription: 'سعيد لوجودك على متن الطائرة!',
      emailLabel: 'البريد الإلكتروني',
      emailPlaceholder: 'يرجى إدخال البريد الإلكتروني',
      passwordLabel: 'كلمة المرور',
      passwordPlaceholder: 'يرجى إدخال كلمة المرور',
      rememberMe: 'تذكرنى',
      signInTip: 'ليس لديك حساب؟',
      signUpTip: 'هل لديك حساب بالفعل؟',
      nicknameLabel: 'الاسم المستعار',
      nicknamePlaceholder: 'يرجى إدخال الاسم المستعار',
      register: 'إنشاء حساب',
      continue: 'يكمل',
      title: 'محرك RAG رائد لسياق LLM',
      start: 'دعونا نبدأ',
      description:
        'قم بالتسجيل مجانًا لاستكشاف أفضل تقنيات RAG. قم بإنشاء قواعد المعرفة والذكاء الاصطناعي لتمكين أعمالك.',
      review: 'من أكثر من 500 تعليق',
      seeAll: 'شاهد الكل',
    },
    header: {
      knowledgeBase: 'مجموعة البيانات',
      chat: 'الدردشة',
      register: 'تسجيل',
      signin: 'تسجيل الدخول',
      home: 'الرئيسية',
      setting: 'إعدادات المستخدم',
      logout: 'تسجيل الخروج',
      fileManager: 'الملفات',
      flow: 'الوكيل',
      search: 'البحث',
      welcome: 'مرحبا بكم في',
      dataset: 'مجموعة البيانات',
      memories: 'الذاكرة',
    },
    memories: {
      llmTooltip:
        'يقوم بتحليل محتوى المحادثة، واستخراج المعلومات الأساسية، وإنشاء ملخصات الذاكرة المنظمة.',
      embeddingModelTooltip:
        'تحويل النص إلى متجهات رقمية للبحث عن تشابه المعنى واسترجاع الذاكرة.',
      embeddingModelError: 'نوع الذاكرة مطلوب ولا يمكن حذف "الخام".',
      memoryTypeTooltip:
        'Raw: محتوى الحوار الأولي بين المستخدم والوكيل (مطلوب افتراضيًا).\nالذاكرة الدلالية: المعرفة العامة والحقائق حول المستخدم والعالم.\nالذاكرة العرضية: سجلات مختومة بالوقت لأحداث وتجارب محددة.\nالذاكرة الإجرائية: المهارات والعادات والإجراءات الآلية المكتسبة.',
      raw: 'خام',
      semantic: 'دلالي',
      episodic: 'عرضي',
      procedural: 'إجرائي',
      editName: 'تعديل الاسم',
      memory: 'ذاكرة',
      createMemory: 'إنشاء الذاكرة',
      name: 'اسم',
      memoryNamePlaceholder: 'اسم الذاكرة',
      memoryType: 'نوع الذاكرة',
      embeddingModel: 'نموذج Embedding',
      selectModel: 'حدد النموذج',
      llm: 'LLM',
      delMemoryWarn:
        'بعد الحذف، سيتم حذف كافة الرسائل الموجودة في هذه الذاكرة ولا يمكن للوكلاء استردادها.',
    },
    memory: {
      taskLogDialog: {
        title: 'ذاكرة',
        startTime: 'وقت البدء',
        status: 'حالة',
        details: 'تفاصيل',
        success: 'نجاح',
        running: 'جري',
        failed: 'فشل',
      },
      messages: {
        forget: 'ينسى',
        forgetMessageTip: 'هل أنت متأكد أنك تريد أن تنسى؟',
        messageDescription:
          'يتم تكوين استخراج الذاكرة باستخدام المطالبات ودرجة الحرارة من الإعدادات المتقدمة.',
        copied: 'منسوخ!',
        contentEmbed: 'تضمين المحتوى',
        content: 'محتوى',
        delMessageWarn:
          'بعد النسيان، لن يتم استرداد هذه الرسالة من قبل الوكلاء.',
        forgetMessage: 'ننسى الرسالة',
        sessionId: 'معرف الجلسة',
        agent: 'عامل',
        type: 'يكتب',
        validDate: 'تاريخ صالح',
        forgetAt: 'ننسى في',
        source: 'مصدر',
        enable: 'يُمكَِن',
        action: 'فعل',
      },
      config: {
        memorySizeTooltip:
          'حسابات محتوى كل رسالة + ناقل Embedding الخاص بها (≈ المحتوى + الأبعاد × 8 بايت).\nمثال: رسالة بحجم 1 كيلو بايت مع Embedding 1024-dim تستخدم حوالي 9 كيلو بايت. يحتوي الحد الافتراضي البالغ 5 ميغابايت على 500 رسالة تقريبًا.',
        avatar: 'الصورة الرمزية',
        description: 'وصف',
        memorySize: 'حجم الذاكرة',
        advancedSettings: 'الإعدادات المتقدمة',
        permission: 'إذن',
        onlyMe: 'أنا فقط',
        team: 'فريق',
        storageType: 'نوع التخزين',
        storageTypePlaceholder: 'الرجاء تحديد نوع التخزين',
        forgetPolicy: 'ننسى السياسة',
        temperature: 'درجة حرارة',
        systemPrompt: 'موجه النظام',
        systemPromptPlaceholder: 'الرجاء إدخال موجه النظام',
        userPrompt: 'موجه المستخدم',
        userPromptPlaceholder: 'الرجاء إدخال موجه المستخدم',
      },
      sideBar: {
        messages: 'رسائل',
        configuration: 'إعدادات',
      },
    },
    knowledgeList: {
      welcome: 'مرحبًا بعودتك',
      description: 'ما هي قواعد المعرفة التي ستستخدمها اليوم؟',
      createKnowledgeBase: 'إنشاء مجموعة بيانات',
      name: 'الاسم',
      namePlaceholder: 'يرجى إدخال الاسم.',
      doc: 'المستندات',
      searchKnowledgePlaceholder: 'يبحث',
      noMoreData: 'هذا كل شيء. لا شيء أكثر.',
      parserRequired: 'طريقة التقسيم مطلوبة',
    },
    knowledgeDetails: {
      metadata: {
        fields: 'الحقول',
        selectFiles: 'الملفات المحددة ({{count}})',
        type: 'يكتب',
        fieldNameInvalid:
          'يمكن أن يحتوي اسم الحقل على أحرف أو شرطات سفلية فقط.',
        builtIn: 'مدمج',
        generation: 'جيل',
        toMetadataSetting: 'إعدادات الجيل',
        toMetadataSettingTip: 'قم بتعيين بيانات التعريف التلقائية في التكوين.',
        descriptionTip:
          'قدم أوصافًا أو أمثلة لتوجيه قيم استخراج LLM لهذا الحقل. إذا تركت فارغة، وسوف تعتمد على اسم الحقل.',
        restrictDefinedValuesTip:
          'وضع التعداد: يقيد استخراج LLM لمطابقة القيم المحددة مسبقًا فقط. تحديد القيم أدناه.',
        valueExists:
          'القيمة موجودة بالفعل. أكد على دمج التكرارات ودمج كافة الملفات المرتبطة بها.',
        fieldNameExists:
          'اسم الحقل موجود بالفعل. أكد على دمج التكرارات ودمج كافة الملفات المرتبطة بها.',
        valueSingleExists: 'القيمة موجودة بالفعل. تأكيد لدمج التكرارات.',
        fieldSingleNameExists: 'اسم الحقل موجود بالفعل. تأكيد لدمج التكرارات.',
        fieldExists: 'الحقل موجود بالفعل.',
        fieldSetting: 'إعدادات المجال',
        changesAffectNewParses: 'تؤثر التغييرات على التحليلات الجديدة فقط.',
        restrictDefinedValues: 'يقتصر على القيم المحددة',
        metadataGenerationSettings: 'إعدادات توليد البيانات التعريفية',
        manageMetadata: 'إدارة البيانات الوصفية',
        metadata: 'البيانات الوصفية',
        values: 'قيم',
        value: 'قيمة',
        action: 'فعل',
        field: 'مجال',
        description: 'وصف',
        fieldName: 'اسم الحقل',
        editMetadata: 'تحرير البيانات الوصفية',
        addMetadata: 'إضافة البيانات الوصفية',
        deleteWarn: 'ستتم إزالة {{field}} من كافة الملفات المرتبطة',
        deleteManageFieldAllWarn:
          'سيتم حذف هذا الحقل وجميع القيم المقابلة له من جميع الملفات المرتبطة به.',
        deleteManageValueAllWarn:
          'سيتم حذف هذه القيمة من كافة الملفات المرتبطة.',
        deleteManageFieldSingleWarn:
          'سيتم حذف هذا الحقل وجميع القيم المقابلة له من هذه الملفات.',
        deleteManageValueSingleWarn: 'سيتم حذف هذه القيمة من هذه الملفات.',
        deleteSettingFieldWarn:
          'سيتم حذف هذا الحقل؛ لن تتأثر البيانات الوصفية الموجودة.',
        deleteSettingValueWarn:
          'سيتم حذف هذه القيمة؛ لن تتأثر البيانات الوصفية الموجودة.',
      },
      redoAll: 'مسح القطع الموجودة',
      applyAutoMetadataSettings: 'تطبيق إعدادات البيانات التعريفية العامة',
      parseFileTip: 'هل أنت متأكد من التحليل؟',
      parseFile: 'تحليل الملف',
      emptyMetadata: 'لا توجد بيانات وصفية',
      metadataField: 'حقل البيانات الوصفية',
      systemAttribute: 'سمة النظام',
      localUpload: 'تحميل محلي',
      fileSize: 'حجم الملف',
      fileType: 'نوع الملف',
      uploadedBy: 'تم الرفع بواسطة',
      notGenerated: 'لم يتم إنشاؤها',
      generatedOn: 'تم الإنشاء بتاريخ',
      subbarFiles: 'الملفات',
      generateKnowledgeGraph:
        'سيؤدي هذا إلى استخراج الكيانات والعلاقات من جميع مستنداتك في مجموعة البيانات هذه. قد تستغرق العملية بعض الوقت حتى تكتمل.',
      generateRaptor:
        'ينفذ تجميعًا متكررًا وتلخيصًا لأجزاء المستندات لإنشاء بنية شجرة هرمية، مما يتيح استرجاعًا أكثر وعيًا بالسياق عبر المستندات الطويلة.',
      generate: 'يولد',
      raptor: 'رابتور',
      processingType: 'نوع المعالجة',
      dataPipeline: 'تبديل أو تكوين مسار الابتلاع.',
      operations: 'العمليات',
      taskId: 'معرف المهمة',
      duration: 'مدة',
      details: 'تفاصيل',
      status: 'حالة',
      task: 'مهمة',
      startDate: 'تاريخ البدء',
      source: 'مصدر',
      fileName: 'اسم الملف',
      datasetLogs: 'مجموعة البيانات',
      fileLogs: 'ملف',
      overview: 'سجلات',
      success: 'نجاح',
      failed: 'فشل',
      completed: 'مكتمل',
      datasetLog: 'سجل مجموعة البيانات',
      created: 'مخلوق',
      learnMore: 'مقدمة خط أنابيب مدمج',
      general: 'عام',
      chunkMethodTab: 'طريقة القطعة',
      testResults: 'نتائج',
      testSetting: 'جلسة',
      retrievalTesting: 'اختبار الاسترجاع',
      retrievalTestingDescription:
        'قم بإجراء اختبار استرجاع للتحقق مما إذا كان RAGFlow يمكنه استرداد المحتوى المقصود لـ LLM.',
      Parse: 'تحليل',
      dataset: 'مجموعة البيانات',
      testing: 'اختبار الاسترجاع',
      files: 'ملفات',
      configuration: 'إعدادات',
      knowledgeGraph: 'الرسم البياني المعرفي',
      name: 'اسم',
      namePlaceholder: 'الرجاء إدخال الاسم!',
      doc: 'المستندات',
      datasetDescription:
        'يرجى الانتظار حتى تكتمل عملية تحليل الملفات قبل بدء محادثة مدعومة بالذكاء الاصطناعي.',
      addFile: 'إضافة ملف',
      searchFiles: 'ابحث في ملفاتك',
      localFiles: 'الملفات المحلية',
      emptyFiles: 'إنشاء ملف فارغ',
      webCrawl: 'الزحف على شبكة الإنترنت',
      chunkNumber: 'قطع',
      uploadDate: 'تاريخ التحميل',
      chunkMethod: 'طريقة التقطيع',
      enabled: 'يُمكَِن',
      disabled: 'إبطال',
      action: 'فعل',
      parsingStatus: 'حالة التحليل',
      parsingStatusTip:
        'يختلف وقت تحليل المستند بناءً على عدة عوامل. سيؤدي تمكين الميزات مثل الرسم البياني المعرفي أو RAPTOR أو الاستخراج التلقائي للأسئلة أو الاستخراج التلقائي للكلمات الرئيسية إلى زيادة وقت المعالجة بشكل كبير. إذا توقف شريط التقدم، فيرجى الرجوع إلى هذين السؤالين الشائعين: https://ragflow.io/docs/dev/faq#why-does-my-document-parsing-stall-at-under-one-percent.',
      processBeginAt: 'تبدأ في',
      processDuration: 'مدة',
      progressMsg: 'تقدم',
      noTestResultsForRuned:
        'لم يتم العثور على نتائج ذات صلة. حاول تعديل الاستعلام أو المعلمات.',
      noTestResultsForNotRuned:
        'لم يتم إجراء أي اختبار حتى الآن. سوف تظهر النتائج هنا.',
      testingDescription:
        'قم بإجراء اختبار استرجاع للتحقق مما إذا كان RAGFlow يمكنه استرداد المحتوى المقصود لـ LLM. إذا قمت بتعديل الإعدادات الافتراضية، مثل وزن تشابه الكلمة الرئيسية أو حد التشابه، لتحقيق النتائج المثلى، فاعلم أن هذه التغييرات لن يتم حفظها تلقائيًا. يجب عليك تطبيقها على إعدادات مساعد الدردشة أو إعدادات مكون وكيل الاسترداد.',
      similarityThreshold: 'عتبة التشابه',
      similarityThresholdTip:
        'يستخدم RAGFlow إما مزيجًا من تشابه الكلمات الرئيسية المرجحة وتشابه جيب التمام المتجه المرجح، أو مزيجًا من تشابه الكلمات الرئيسية المرجحة ودرجة إعادة الترتيب المرجحة أثناء الاسترجاع. تحدد هذه المعلمة الحد الأدنى لأوجه التشابه بين استعلام المستخدم والقطع. سيتم استبعاد أي قطعة ذات درجة تشابه أقل من هذا الحد من النتائج. افتراضيًا، يتم تعيين العتبة على 0.2. وهذا يعني أنه سيتم استرداد الأجزاء ذات درجة التشابه الهجين 20 أو أعلى فقط.',
      vectorSimilarityWeight: 'ناقل تشابه الوزن',
      vectorSimilarityWeightTip:
        'يؤدي هذا إلى تعيين وزن تشابه الكلمات الرئيسية في درجة التشابه المجمعة، إما المستخدمة مع تشابه جيب التمام المتجه أو مع درجة إعادة الترتيب. مجموع الوزنين يجب أن يساوي 1.0.',
      keywordSimilarityWeight: 'وزن تشابه الكلمات الرئيسية',
      keywordSimilarityWeightTip:
        'يؤدي هذا إلى تعيين وزن تشابه الكلمات الرئيسية في درجة التشابه المجمعة، إما المستخدمة مع تشابه جيب التمام المتجه أو مع درجة إعادة الترتيب. مجموع الوزنين يجب أن يساوي 1.0.',
      testText: 'نص الاختبار',
      testTextPlaceholder: 'أدخل سؤالك هنا!',
      testingLabel: 'يجري',
      similarity: 'التشابه الهجين',
      termSimilarity: 'تشابه المصطلح',
      vectorSimilarity: 'تشابه المتجهات',
      hits: 'الزيارات',
      view: 'منظر',
      filesSelected: 'الملفات المحددة',
      upload: 'رفع',
      run: 'تحليل',
      runningStatus0: 'قيد الانتظار',
      runningStatus1: 'تحليل',
      runningStatus2: 'تم الإلغاء',
      runningStatus3: 'نجاح',
      runningStatus4: 'يفشل',
      pageRanges: 'نطاقات الصفحات',
      pageRangesTip:
        'نطاق الصفحات التي سيتم تحليلها؛ لن تتم معالجة الصفحات التي تقع خارج هذا النطاق.',
      fromPlaceholder: 'من',
      fromMessage: 'رقم صفحة البداية مفقود',
      toPlaceholder: 'ل',
      toMessage: 'رقم صفحة النهاية مفقود (مستبعد)',
      layoutRecognize: 'محلل قوات الدفاع الشعبي',
      layoutRecognizeTip:
        'استخدم نموذجًا مرئيًا لتحليل تخطيط PDF لتحديد موقع عناوين المستندات وكتل النص والصور والجداول بشكل فعال. إذا تم اختيار الخيار البسيط، فسيتم استرداد النص العادي فقط في ملف PDF. يرجى ملاحظة أن هذا الخيار يعمل حاليًا فقط مع مستندات PDF.',
      taskPageSize: 'حجم صفحة المهمة',
      taskPageSizeMessage: 'الرجاء إدخال حجم صفحة المهمة الخاصة بك!',
      taskPageSizeTip:
        'أثناء التعرف على التخطيط، يتم تقسيم ملف PDF إلى أجزاء ومعالجته بالتوازي لزيادة سرعة المعالجة. تحدد هذه المعلمة حجم كل قطعة. يقلل حجم القطعة الأكبر من احتمالية تقسيم النص المستمر بين الصفحات.',
      addPage: 'إضافة صفحة',
      greaterThan: 'يجب أن تكون القيمة الحالية أكبر من!',
      greaterThanPrevious: 'يجب أن تكون القيمة الحالية أكبر من السابقة!',
      selectFiles: 'حدد الملفات',
      changeSpecificCategory: 'تغيير فئة معينة',
      uploadTitle: 'قم بسحب وإسقاط ملفك هنا للتحميل',
      uploadDescription:
        'يدعم تحميل ملف واحد أو دفعي. بالنسبة إلى RAGFlow المنشور محليًا: يبلغ الحد الإجمالي لحجم الملف لكل عملية تحميل 1 جيجابايت، مع حد تحميل دفعة يبلغ 32 ملفًا. لا يوجد حد أقصى لإجمالي عدد الملفات لكل حساب. بالنسبة إلى cloud.ragflow.io، يبلغ الحد الأقصى لحجم الملف الإجمالي لكل عملية تحميل 10 ميجابايت، على ألا يتجاوز كل ملف 10 ميجابايت وبحد أقصى 128 ملفًا لكل حساب.',
      chunk: 'قطعة',
      bulk: 'حجم كبير',
      cancel: 'يلغي',
      close: 'يغلق',
      rerankModel: 'إعادة ترتيب النموذج',
      rerankPlaceholder: 'الرجاء التحديد',
      rerankTip:
        'خياري. إذا تركت فارغة، فسوف يستخدم RAGFlow مجموعة من تشابه الكلمات الرئيسية الموزونة وتشابه جيب التمام المتجه الموزون؛ إذا تم تحديد نموذج إعادة الترتيب، فستحل درجة إعادة الترتيب المرجحة محل تشابه جيب تمام المتجه المرجح. يرجى العلم أن استخدام نموذج إعادة الترتيب سيؤدي إلى زيادة وقت استجابة النظام بشكل كبير. إذا كنت ترغب في استخدام نموذج إعادة الترتيب، فتأكد من استخدام أداة إعادة ترتيب SaaS؛ إذا كنت تفضل نموذج إعادة الترتيب المنشور محليًا، فتأكد من بدء تشغيل RAGFlow باستخدام docker-compose-gpu.yml.',
      topK: 'توب ك',
      topKTip:
        'يستخدم هذا الإعداد مع نموذج إعادة الترتيب، ويحدد عدد مجموعات النص التي سيتم إرسالها إلى نموذج إعادة الترتيب المحدد.',
      delimiter: 'محدد للنص',
      delimiterTip:
        'يمكن أن يتكون المحدد أو الفاصل من حرف خاص واحد أو عدة أحرف. إذا كانت هناك أحرف متعددة، فتأكد من أنها محاطة بعلامات التحديد الخلفية (``). على سبيل المثال، إذا قمت بتكوين المحددات الخاصة بك على النحو التالي: \\n`##`;، فسيتم فصل النصوص الخاصة بك عند فواصل الأسطر ورموز التجزئة المزدوجة (##) والفواصل المنقوطة.',
      enableChildrenDelimiter: 'يتم استخدام قطعة الطفل للاسترجاع',
      childrenDelimiter: 'محدد للنص',
      childrenDelimiterTip:
        'يمكن أن يتكون المحدد أو الفاصل من حرف خاص واحد أو عدة أحرف. إذا كانت هناك أحرف متعددة، فتأكد من أنها محاطة بعلامات التحديد الخلفية (``). على سبيل المثال، إذا قمت بتكوين المحددات الخاصة بك على النحو التالي: \\n`##`;، فسيتم فصل النصوص الخاصة بك عند فواصل الأسطر ورموز التجزئة المزدوجة (##) والفواصل المنقوطة.',
      html4excel: 'إكسل إلى HTML',
      html4excelTip:
        'استخدم مع طريقة التقطيع العامة. عند التعطيل، سيتم تحليل جداول البيانات (XLSX أو XLS(Excel 97-2003)) الموجودة في قاعدة المعرفة إلى أزواج قيمة المفتاح. عند التمكين، سيتم تحليلها إلى جداول HTML، مع تقسيم كل 12 صفًا إذا كان الجدول الأصلي يحتوي على أكثر من 12 صفًا. راجع https://ragflow.io/docs/dev/enable_excel2html للحصول على التفاصيل.',
      autoKeywords: 'الكلمة الرئيسية التلقائية',
      autoKeywordsTip:
        'قم باستخراج الكلمات الرئيسية N تلقائيًا لكل مجموعة لزيادة تصنيفها للاستعلامات التي تحتوي على تلك الكلمات الرئيسية. انتبه إلى أنه سيتم استهلاك الرموز المميزة الإضافية بواسطة نموذج الفهرسة المحدد في "التكوين". يمكنك التحقق من الكلمات الأساسية المضافة أو تحديثها لمقطع من قائمة المقاطع. للحصول على التفاصيل، راجع https://ragflow.io/docs/dev/autokeyword_autoquestion.',
      autoQuestions: 'سؤال تلقائي',
      autoQuestionsTip:
        'قم باستخراج الأسئلة N تلقائيًا لكل مجموعة لزيادة تصنيفها للاستعلامات التي تحتوي على تلك الأسئلة. يمكنك التحقق من الأسئلة المضافة أو تحديثها لمقطع من قائمة المقاطع. لن تعطل هذه الميزة عملية التقسيم في حالة حدوث خطأ، إلا أنها قد تضيف نتيجة فارغة إلى المقطع الأصلي. انتبه إلى أنه سيتم استهلاك الرموز المميزة الإضافية بواسطة نموذج الفهرسة المحدد في "التكوين". للحصول على التفاصيل، راجع https://ragflow.io/docs/dev/autokeyword_autoquestion.',
      redo: 'هل تريد مسح القطع الموجودة ({{chunkNum}})؟',
      setMetaData: 'تعيين البيانات الوصفية',
      pleaseInputJson: 'الرجاء إدخال JSON',
      documentMetaTips:
        '<p> البيانات التعريفية بتنسيق Json (غير قابلة للبحث). ستتم إضافته إلى المطالبة بـ LLM إذا تم تضمين أي أجزاء من هذا المستند في المطالبة.</p>\n<p>أمثلة:</p>\n<b> البيانات الوصفية هي:</b><br>\n<code>\n  {\n      "المؤلف": "أليكس داوسون"،\n      "التاريخ": "12-11-2024"\n  }\n</code><br>\n<b>ستكون المطالبة:</b><br>\n<p>المستند: the_name_of_document</p>\n<p> المؤلف: أليكس داوسون</p>\n<p>التاريخ: 12-11-2024</p>\n<p> الأجزاء ذات الصلة على النحو التالي:</p>\n<ul>\n<li> هذا هو محتوى القطعة....</li>\n<li> هذا هو محتوى القطعة....</li>\n</ul>',
      metaData: 'بيانات التعريف',
      deleteDocumentConfirmContent:
        'الوثيقة مرتبطة بالرسم البياني المعرفي. بعد الحذف، سيتم حذف معلومات العقدة والعلاقة ذات الصلة، ولكن لن يتم تحديث الرسم البياني على الفور. يتم تنفيذ إجراء تحديث الرسم البياني أثناء عملية تحليل المستند الجديد الذي يحمل مهمة استخراج الرسم البياني المعرفي.',
      plainText: 'ساذج',
      reRankModelWaring: 'يستغرق نموذج إعادة التصنيف وقتًا طويلاً للغاية.',
    },
    knowledgeConfiguration: {
      globalIndexModelTip:
        'يستخدم لإنشاء الرسوم البيانية المعرفية و RAPTOR وبيانات التعريف التلقائية والكلمات الرئيسية التلقائية والسؤال التلقائي. سيؤثر أداء النموذج على جودة التوليد.',
      globalIndexModel: 'نموذج الفهرسة',
      settings: 'إعدادات',
      autoMetadataTip:
        'إنشاء بيانات التعريف تلقائيًا. ينطبق على الملفات الجديدة أثناء التحليل. تتطلب الملفات الموجودة إعادة التحليل للتحديث (تظل الأجزاء محفوظة). انتبه إلى أنه سيتم استهلاك الرموز المميزة الإضافية بواسطة نموذج الفهرسة المحدد في "التكوين".',
      imageTableContextWindow: 'نافذة سياق الصورة والجدول',
      imageTableContextWindowTip:
        'يلتقط رموز N المميزة للنص أعلى وأسفل الصورة والجدول لتوفير سياق خلفية أكثر ثراءً.',
      autoMetadata: 'البيانات الوصفية التلقائية',
      mineruOptions: 'خيارات مينرو',
      mineruParseMethod: 'طريقة التحليل',
      mineruParseMethodTip:
        'طريقة تحليل ملف PDF: تلقائي (الاكتشاف التلقائي)، txt (استخراج النص)، ocr (التعرف البصري على الأحرف)',
      mineruFormulaEnable: 'التعرف على الصيغة',
      mineruFormulaEnableTip:
        'تمكين التعرف على الصيغة. ملاحظة: قد لا يعمل هذا بشكل صحيح مع المستندات السيريلية.',
      mineruTableEnable: 'التعرف على الجدول',
      mineruTableEnableTip: 'تمكين التعرف على الجدول واستخراجه.',
      paddleocrOptions: 'خيارات PaddleOCR',
      paddleocrApiUrl: 'عنوان URL لواجهة برمجة تطبيقات PaddleOCR',
      paddleocrApiUrlTip:
        'عنوان URL لنقطة نهاية واجهة برمجة التطبيقات لخدمة PaddleOCR',
      paddleocrApiUrlPlaceholder:
        'على سبيل المثال https://paddleocr-server.com/layout-parsing',
      paddleocrAccessToken: 'رمز الوصول إلى استوديو الذكاء الاصطناعي',
      paddleocrAccessTokenTip: 'رمز الوصول إلى PaddleOCR API (اختياري)',
      paddleocrAccessTokenPlaceholder: 'رمز AI Studio الخاص بك (اختياري)',
      paddleocrAlgorithm: 'خوارزمية PaddleOCR',
      paddleocrAlgorithmTip: 'الخوارزمية المستخدمة لتحليل PaddleOCR',
      paddleocrSelectAlgorithm: 'حدد الخوارزمية',
      paddleocrModelNamePlaceholder: 'على سبيل المثال paddleocr-من-env-1',
      overlappedPercent: 'النسبة المئوية المتداخلة (%)',
      generationScopeTip:
        'يحدد ما إذا كان سيتم إنشاء RAPTOR لمجموعة البيانات بأكملها أو لملف واحد.',
      scopeDataset: 'مجموعة البيانات',
      generationScope: 'نطاق الجيل',
      scopeSingleFile: 'ملف واحد',
      autoParse: 'تحليل تلقائي',
      rebuildTip:
        'إعادة تنزيل الملفات من مصدر البيانات المرتبط وتحليلها مرة أخرى.',
      baseInfo: 'أساسي',
      globalIndex: 'المؤشر العالمي',
      dataSource: 'مصدر البيانات',
      linkSourceSetTip: 'إدارة ربط مصدر البيانات بمجموعة البيانات هذه',
      linkDataSource: 'ربط مصدر البيانات',
      tocExtraction: 'فهرس الصفحة',
      tocExtractionTip:
        'بالنسبة للقطع الموجودة، قم بإنشاء جدول محتويات هرمي (دليل واحد لكل ملف). أثناء الاستعلامات، عند تنشيط "تحسين الدليل"، سيستخدم النظام نموذجًا كبيرًا لتحديد عناصر الدليل ذات الصلة بسؤال المستخدم، وبالتالي تحديد الأجزاء ذات الصلة.',
      deleteGenerateModalContent:
        "<p>حذف النتائج <strong class='text-text-primary'>{{type}}</strong> التي تم إنشاؤها\n        سيؤدي إلى إزالة جميع الكيانات والعلاقات المشتقة من مجموعة البيانات هذه.\n        ستبقى ملفاتك الأصلية سليمة.<p>\n        <br/>\n        هل تريد الاستمرار؟",
      extractRaptor: 'استخراج رابتور',
      extractKnowledgeGraph: 'استخراج الرسم البياني المعرفة',
      filterPlaceholder: 'يرجى إدخال عامل التصفية',
      fileFilterTip: '',
      fileFilter: 'مرشح الملف',
      setDefaultTip: '',
      setDefault: 'تعيين كافتراضي',
      editLinkDataPipeline: 'تعديل مسار الابتلاع',
      linkPipelineSetTip:
        'إدارة ربط خط أنابيب الاستيعاب مع مجموعة البيانات هذه',
      default: 'تقصير',
      dataPipeline: 'تبديل أو تكوين مسار الابتلاع.',
      linkDataPipeline: 'ربط خط أنابيب استيعاب',
      enableAutoGenerate: 'تمكين الإنشاء التلقائي',
      teamPlaceholder: 'الرجاء اختيار فريق.',
      dataFlowPlaceholder: 'الرجاء تحديد خط أنابيب.',
      buildItFromScratch: 'بنائها من الصفر',
      dataFlow: 'خط أنابيب',
      parseType: 'نوع التحليل',
      manualSetup: 'اختر خط الأنابيب',
      builtIn: 'مدمج',
      titleDescription:
        'قم بتحديث تكوين الذاكرة لديك هنا، وخاصة LLM والمطالبات.',
      name: 'اسم قاعدة المعرفة',
      photo: 'صورة قاعدة المعرفة',
      photoTip: 'يمكنك تحميل صورة يصل حجمها إلى 4 ميجابايت.',
      description: 'وصف',
      language: 'لغة المستند',
      languageMessage: 'يرجى إدخال لغتك!',
      languagePlaceholder: 'يرجى اختيار لغة المستند',
      permissions: 'الأذونات',
      embeddingModel: 'نموذج Embedding',
      chunkTokenNumber: 'حجم القطعة الموصى بها',
      chunkTokenNumberMessage: 'مطلوب رقم الرمز المميز للنص',
      embeddingModelTip:
        'نموذج Embedding الافتراضي الذي تستخدمه قاعدة المعرفة. بمجرد أن تحتوي قاعدة المعرفة على أجزاء، عند تبديل نموذج Embedding، يقوم النظام بشكل عشوائي باختبار بعض القطع للتحقق من التوافق، ويعيد دمجها مع نموذج Embedding الجديد، ويحسب تشابه جيب التمام بين المتجهات الجديدة والقديمة. يُسمح بالتبديل فقط عندما يكون متوسط ​​تشابه العينة ≥ 0.9. بخلاف ذلك، يجب عليك حذف كافة الأجزاء الموجودة في قاعدة المعرفة قبل أن تتمكن من تغييرها.',
      permissionsTip:
        'إذا تم تعيينه على "فريق"، فسيتمكن جميع أعضاء فريقك من إدارة قاعدة المعرفة.',
      chunkTokenNumberTip:
        'إنه يعين نوعًا ما عتبة الرمز المميز لإنشاء قطعة. سيتم دمج المقطع الذي يحتوي على عدد أقل من الرموز المميزة من هذا الحد مع المقاطع التالية حتى يتجاوز عدد الرموز المميزة الحد، وعند هذه النقطة يتم إنشاء القطعة. لا يتم إنشاء أي قطعة جديدة ما لم تتم مواجهة محدد، حتى لو تم تجاوز الحد.',
      chunkMethod: 'طريقة التقطيع',
      chunkMethodTip: 'عرض النصائح على اليمين.',
      upload: 'رفع',
      english: 'إنجليزي',
      chinese: 'الصينية',
      portugueseBr: 'البرتغالية (البرازيل)',
      embeddingModelPlaceholder: 'الرجاء تحديد نموذج Embedding.',
      chunkMethodPlaceholder: 'يرجى اختيار طريقة التقسيم.',
      parserLabel: {
        naive: 'عام',
        qa: 'سؤال وجواب',
        resume: 'سيرة ذاتية',
        manual: 'دليل',
        table: 'جدول',
        paper: 'ورقة بحثية',
        book: 'كتاب',
        laws: 'قوانين',
        presentation: 'عرض تقديمي',
        picture: 'صورة',
        one: 'واحد',
        audio: 'صوت',
        email: 'بريد إلكتروني',
        tag: 'وسم',
      },
      save: 'يحفظ',
      me: 'أنا فقط',
      team: 'فريق',
      cancel: 'يلغي',
      methodTitle: 'وصف طريقة القطع',
      methodExamples: 'أمثلة',
      methodExamplesDescription: 'يتم توفير لقطات الشاشة التالية للتوضيح.',
      dialogueExamplesTitle: 'منظر',
      methodEmpty: 'سيعرض هذا شرحًا مرئيًا لفئات قاعدة المعرفة',
      book: '<p>تنسيقات الملفات المدعومة هي <b>DOCX</b>، <b>PDF</b>، <b>TXT</b>.</p><p>\n      لكل كتاب بصيغة PDF، يرجى تعيين <i> نطاقات الصفحات</i> لإزالة المعلومات غير المرغوب فيها وتقليل وقت التحليل.</p>',
      laws: '<p>تنسيقات الملفات المدعومة هي <b>DOCX</b>، <b>PDF</b>، <b>TXT</b>.</p><p>\n      عادةً ما تتبع المستندات القانونية تنسيقًا صارمًا للكتابة. نستخدم ميزة النص لتحديد نقطة الانقسام.\n      </p><p>\n      تحتوي القطعة على دقة تتفق مع "المادة"، مما يضمن تضمين كل نصوص المستوى العلوي في المجموعة.\n      </p>',
      manual:
        '<p> يتم دعم <b>PDF</b> فقط.</p><p>\n      نحن نفترض أن الدليل يحتوي على هيكل قسم هرمي، باستخدام عناوين الأقسام الأدنى كوحدة أساسية لتقطيع المستندات. ولذلك، لن يتم فصل الأشكال والجداول الموجودة في نفس القسم، مما قد يؤدي إلى أحجام قطع أكبر.\n      </p>',
      naive:
        '<p>تنسيقات الملفات المدعومة هي <b>MD، MDX، DOCX، XLSX، XLS (Excel 97-2003)، PPTX، PDF، TXT، JPEG، JPG، PNG، TIF، GIF، CSV، JSON، EML، HTML</b>.</p>\n      <p> تقوم هذه الطريقة بتقطيع الملفات باستخدام طريقة "ساذجة": </p>\n      <p>\n      <li> استخدم نموذج اكتشاف الرؤية لتقسيم النصوص إلى أجزاء أصغر.</li>\n      <li>ثم، قم بدمج المقاطع المتجاورة حتى يتجاوز عدد الرموز المميزة الحد المحدد بواسطة "رقم القطعة المميزة للنص"، وعند هذه النقطة يتم إنشاء القطعة.</li></p>',
      paper:
        '<p> يتم دعم ملف <b>PDF</b> فقط.</p><p>\n      سيتم تقسيم الأوراق حسب القسم، مثل <i>الملخص، 1.1، 1.2</i>. </p><p>\n      يمكّن هذا النهج LLM من تلخيص الورقة بشكل أكثر فعالية وتقديم استجابات أكثر شمولاً ومفهومة.\n      ومع ذلك، فإنه يزيد أيضًا من سياق محادثات الذكاء الاصطناعي ويضيف إلى التكلفة الحسابية لـ LLM. لذا، أثناء المحادثة، فكر في تقليل قيمة "<b>topN</b>".</p>',
      presentation:
        '<p>تنسيقات الملفات المدعومة هي <b>PDF</b>، <b>PPTX</b>.</p><p>\n      يتم التعامل مع كل صفحة في الشرائح على أنها جزء، مع تخزين صورتها المصغرة.</p><p>\n      <i> يتم تطبيق طريقة التجزئة هذه تلقائيًا على جميع ملفات PPT التي تم تحميلها، لذلك لا تحتاج إلى تحديدها يدويًا.</i></p>',
      qa: '<p>\n      تدعم طريقة التقطيع هذه <b>XLSX</b> و<b>CSV/TXT</b> تنسيقات الملفات.\n    </p>\n    <li>\n      إذا كان الملف بتنسيق <b>XLSX</b> أو <b>XLS (Excel 97-2003)</b>، فيجب أن يحتوي على عمودين بدون رؤوس: أحدهما للأسئلة والآخر للإجابات، بحيث يسبق عمود السؤال عمود الإجابة. أوراق متعددة هي\n      مقبول، بشرط أن تكون الأعمدة منظمة بشكل صحيح.\n    </li>\n    <li>\n      إذا كان الملف بتنسيق <b>CSV/TXT</b>، فيجب أن يكون مشفرًا بـ UTF-8 باستخدام TAB كمحدد لفصل الأسئلة والأجوبة.\n    </li>\n    <p>\n      <i>\n        سيتم تجاهل أسطر النصوص التي لا تتبع القواعد المذكورة أعلاه، و\n        سيتم اعتبار كل زوج من الأسئلة والأجوبة جزءًا مميزًا.\n      </i>\n    </p>',
      resume:
        '<p>تنسيقات الملفات المدعومة هي <b>DOCX</b>، <b>PDF</b>، <b>TXT</b>.\n      </p><p>\n      يتم تحليل السيرة الذاتية بمختلف أشكالها وتنظيمها في بيانات منظمة لتسهيل البحث عن المرشحين للقائمين بالتوظيف.\n      </p>',
      table:
        "<p>تنسيقات الملفات المدعومة هي <b>XLSX</b> و<b>CSV/TXT</b>.</p><p>\n      فيما يلي بعض المتطلبات الأساسية والنصائح:\n      <ul>\n    <li>بالنسبة لملف CSV أو TXT، يجب أن يكون المحدد بين الأعمدة هو <em><b>TAB</b></em>.</li>\n    <li>يجب أن يكون الصف الأول عبارة عن رؤوس أعمدة.</li>\n    <li> يجب أن تكون رؤوس الأعمدة مصطلحات ذات معنى للمساعدة في فهم LLM الخاص بك.\n    من الممارسات الجيدة وضع المرادفات جنبًا إلى جنب مفصولة بشرطة مائلة <i>'/'</i> وتعداد القيم باستخدام الأقواس، على سبيل المثال: <i>'الجنس/الجنس (ذكر، أنثى)'</i>.<p>\n    فيما يلي بعض الأمثلة على الرؤوس:<ol>\n        <li>المورد/البائع<b>'TAB'</b>اللون (أصفر، أزرق، بني)<b>'TAB'</b>الجنس/الجنس (ذكر، أنثى)<b>'TAB'</b>الحجم (M، L، XL، XXL)</li>\n        </ol>\n        </p>\n    </li>\n    <li>سيتم التعامل مع كل صف في الجدول كقطعة.</li>\n    </ul>",
      picture:
        '<p>يتم دعم ملفات الصور، وسيتوفر دعم الفيديو قريبًا.</p><p>\n    تستخدم هذه الطريقة نموذج التعرف الضوئي على الحروف (OCR) لاستخراج النصوص من الصور.\n    </p><p>\n    إذا تم اعتبار النص المستخرج بواسطة نموذج التعرف الضوئي على الحروف (OCR) غير كافٍ، فسيتم استخدام LLM مرئي محدد لتقديم وصف للصورة.\n    </p>',
      one: '<p>تنسيقات الملفات المدعومة هي <b>DOCX، XLSX، XLS (Excel 97-2003)، PDF، TXT</b>.\n    </p><p>\n    تتعامل هذه الطريقة مع كل مستند في مجمله كقطعة.\n    </p><p>\n    ينطبق ذلك عندما تطلب من LLM تلخيص المستند بأكمله، بشرط أن يتمكن من التعامل مع هذا القدر من طول السياق.\n    </p>',
      knowledgeGraph:
        '<p>تنسيقات الملفات المدعومة هي <b>DOCX، EXCEL، PPT، IMAGE، PDF، TXT، MD، JSON، EML</b>\n\n<p> يقوم هذا الأسلوب بتقطيع الملفات باستخدام الطريقة "الساذجة"/"العامة". فهو يقسم المستند إلى أجزاء ثم يجمع الأجزاء المتجاورة حتى يتجاوز عدد الرموز المميزة الحد المحدد بواسطة "رقم القطعة المميزة للنص"، وعند هذه النقطة يتم إنشاء القطعة.</p>\n<p> يتم بعد ذلك تغذية الأجزاء إلى LLM لاستخراج الكيانات والعلاقات من أجل رسم بياني معرفي وخريطة ذهنية.</p>\n<p>تأكد من تعيين <b>أنواع الكيانات</b>.</p>',
      tag: '<p> تعمل قاعدة المعرفة التي تستخدم طريقة التقطيع "Tag" كمجموعة علامات. تستخدمها قواعد المعرفة الأخرى لوضع علامات على الأجزاء الخاصة بها، ويتم أيضًا وضع علامات على الاستعلامات الخاصة بقواعد المعرفة هذه باستخدام مجموعة العلامات هذه.</p>\n<p> ستشارك مجموعة العلامات <b>NOT</b> بشكل مباشر في عملية إنشاء الاسترجاع المعزز (RAG).</p>\n<p>كل جزء في قاعدة المعرفة هذه عبارة عن زوج مستقل من علامات الوصف.</p>\n<p> تتضمن تنسيقات الملفات المدعومة <b>XLSX</b> و<b>CSV/TXT</b>:</p>\n<p>إذا كان الملف بتنسيق <b>XLSX</b>، فيجب أن يحتوي على عمودين بدون رؤوس: أحدهما لأوصاف العلامات والآخر لأسماء العلامات، مع عمود الوصف الذي يسبق عمود العلامة. يُقبل تعدد الأوراق، بشرط أن تكون الأعمدة منظمة بشكل صحيح.</p>\n<p>إذا كان الملف بتنسيق <b>CSV/TXT</b>، فيجب أن يكون مشفرًا بـ UTF-8 باستخدام TAB كمحدد لفصل الأوصاف والعلامات.</p>\n<p>في عمود العلامات، يتم استخدام <b>comma</b> لفصل العلامات.</p>\n<i> سيتم تجاهل سطور النصوص التي لا تتبع القواعد المذكورة أعلاه.</i>',
      useRaptor: 'رابتور',
      useRaptorTip:
        'يمكن استخدام RAPTOR لمهام الإجابة على الأسئلة متعددة القفزات. انتقل إلى صفحة الملفات، وانقر فوق إنشاء > RAPTOR لتمكينه. راجع https://ragflow.io/docs/dev/enable_raptor للحصول على التفاصيل.',
      prompt: 'اِسْتَدْعَى',
      promptTip:
        'استخدم موجه النظام لوصف مهمة LLM، وتحديد كيفية الاستجابة لها، وتحديد المتطلبات المتنوعة الأخرى. غالبًا ما يتم استخدام موجه النظام جنبًا إلى جنب مع المفاتيح (المتغيرات)، والتي تعمل كمدخلات بيانات متنوعة لـ LLM. استخدم شرطة مائلة للأمام `/` أو الزر (x) لإظهار المفاتيح المطلوب استخدامها.',
      promptMessage: 'مطلوب موجه',
      promptText:
        'يرجى تلخيص الفقرات التالية. كن حذرا مع الأرقام، لا تختلق الأمور. الفقرات على النحو التالي:\n      {cluster_content}\nما ورد أعلاه هو المحتوى الذي تحتاج إلى تلخيصه.',
      maxToken: 'رمز ماكس',
      maxTokenTip: 'الحد الأقصى لعدد الرموز المميزة لكل مقطع ملخص تم إنشاؤه.',
      maxTokenMessage: 'مطلوب الحد الأقصى للرمز المميز',
      threshold: 'عتبة',
      thresholdTip:
        'في RAPTOR، يتم تجميع القطع حسب تشابهها الدلالي. تحدد معلمة Threshold الحد الأدنى من التشابه المطلوب لتجميع القطع معًا. العتبة الأعلى تعني قطعًا أقل في كل مجموعة، بينما تعني العتبة الأقل عددًا أكبر.',
      thresholdMessage: 'العتبة مطلوبة',
      maxCluster: 'ماكس الكتلة',
      maxClusterTip: 'الحد الأقصى لعدد المجموعات التي سيتم إنشاؤها.',
      maxClusterMessage: 'مطلوب مجموعة ماكس',
      randomSeed: 'بذرة عشوائية',
      randomSeedMessage: 'مطلوب بذور عشوائية',
      entityTypes: 'أنواع الكيانات',
      vietnamese: 'الفيتنامية',
      pageRank: 'رتبة الصفحة',
      pageRankTip:
        'يمكنك تعيين درجة أعلى لتصنيف الصفحات لقواعد معرفية محددة أثناء الاسترجاع. تتم إضافة النتيجة المقابلة إلى درجات التشابه الهجينة للأجزاء المستردة من قواعد المعرفة هذه، مما يؤدي إلى زيادة ترتيبها. راجع https://ragflow.io/docs/dev/set_page_rank للحصول على التفاصيل.',
      tagName: 'علامة',
      frequency: 'تكرار',
      searchTags: 'علامات البحث',
      tagCloud: 'سحاب',
      tagTable: 'طاولة',
      tagSet: 'مجموعات العلامات',
      tagSetTip:
        '<p> حدد قاعدة معرفية واحدة أو عدة قواعد لوضع علامات تلقائية على الأجزاء في قاعدة المعرفة الخاصة بك. راجع https://ragflow.io/docs/dev/use_tag_sets للحصول على التفاصيل.</p>\n<p> سيتم أيضًا وضع علامة على استعلام المستخدم تلقائيًا.</p>\nتعمل ميزة وضع العلامات التلقائي هذه على تحسين عملية الاسترجاع عن طريق إضافة طبقة أخرى من المعرفة الخاصة بالمجال إلى مجموعة البيانات الموجودة.\n<p>الفرق بين العلامة التلقائية والكلمة الرئيسية التلقائية:</p>\n<ul>\n  <li>قاعدة معارف العلامة هي مجموعة قريبة محددة من قبل المستخدم، في حين يمكن اعتبار الكلمات الأساسية المستخرجة بواسطة LLM مجموعة مفتوحة.</li>\n  <li>يجب عليك تحميل مجموعات العلامات بتنسيقات محددة قبل تشغيل ميزة وضع العلامات التلقائي.</li>\n  <li> تعتمد ميزة الكلمات الأساسية التلقائية على LLM وتستهلك عددًا كبيرًا من الرموز المميزة.</li>\n</ul>',
      topnTags: 'علامات Top-N',
      tags: 'العلامات',
      addTag: 'إضافة علامة',
      useGraphRag: 'الرسم البياني المعرفي',
      useGraphRagTip:
        'قم بإنشاء رسم بياني معرفي على أجزاء ملف من قاعدة المعرفة الحالية لتحسين الإجابة على الأسئلة متعددة القفزات التي تتضمن منطقًا متداخلاً. راجع https://ragflow.io/docs/dev/construct_knowledge_graph للحصول على التفاصيل.',
      graphRagMethod: 'طريقة',
      graphRagMethodTip:
        'Light: (افتراضي) استخدم المطالبات المقدمة من github.com/HKUDS/LightRAG لاستخراج الكيانات والعلاقات. يستهلك هذا الخيار عددًا أقل من الرموز المميزة، وذاكرة أقل، وموارد حسابية أقل.</br>\n      عام: استخدم المطالبات المقدمة من github.com/microsoft/graphrag لاستخراج الكيانات والعلاقات',
      resolution: 'قرار الكيان',
      resolutionTip:
        'مفتاح إلغاء البيانات المكررة للكيان. عند التمكين، سيجمع LLM بين الكيانات المتشابهة - على سبيل المثال، "2025" و"عام 2025"، أو "تكنولوجيا المعلومات" و"تكنولوجيا المعلومات" - لإنشاء رسم بياني أكثر دقة',
      community: 'تقارير المجتمع',
      communityTip:
        'في الرسم البياني المعرفي، المجتمع عبارة عن مجموعة من الكيانات المرتبطة بالعلاقات. يمكنك أن تطلب من LLM إنشاء ملخص لكل مجتمع، وهو ما يُعرف باسم تقرير المجتمع. انظر هنا لمزيد من المعلومات: https://www.microsoft.com/en-us/research/blog/graphrag-improving-global-search-via-dynamic-community-selection/',
      theDocumentBeingParsedCannotBeDeleted:
        'لا يمكن حذف المستند الذي يتم تحليله',
      lastWeek: 'من الاسبوع الماضي',
    },
    chunk: {
      type: 'يكتب',
      docType: {
        image: 'صورة',
        table: 'طاولة',
        text: 'نص',
      },
      chunk: 'قطعة',
      bulk: 'حجم كبير',
      selectAll: 'حدد الكل',
      enabledSelected: 'تمكين المحدد',
      disabledSelected: 'تعطيل المحدد',
      deleteSelected: 'حذف المحدد',
      search: 'يبحث',
      all: 'الجميع',
      enabled: 'ممكّن',
      disabled: 'عاجز',
      keyword: 'الكلمة الرئيسية',
      image: 'صورة',
      imageUploaderTitle: 'قم بتحميل صورة جديدة لتحديث قطعة الصورة هذه',
      function: 'وظيفة',
      chunkMessage: 'الرجاء إدخال القيمة!',
      full: 'النص الكامل',
      ellipse: 'القطع الناقص',
      graph: 'الرسم البياني المعرفي',
      mind: 'خريطة ذهنية',
      question: 'سؤال',
      questionTip: 'إذا كانت هناك أسئلة معينة، فسيتم تضمين الجزء بناءً عليها.',
      chunkResult: 'نتيجة القطعة',
      chunkResultTip: 'عرض المقاطع المقسمة المستخدمة للتضمين والاسترجاع.',
      enable: 'يُمكَِن',
      disable: 'إبطال',
      delete: 'يمسح',
    },
    chat: {
      messagePlaceholder: 'اكتب رسالتك هنا...',
      exit: 'مخرج',
      multipleModels: 'نماذج متعددة',
      applyModelConfigs: 'تطبيق تكوينات النموذج',
      conversations: 'المحادثات',
      chatApps: 'تطبيقات الدردشة',
      newConversation: 'محادثة جديدة',
      createAssistant: 'إنشاء مساعد',
      assistantSetting: 'إعدادات المساعد',
      promptEngine: 'محرك سريع',
      modelSetting: 'إعدادات النموذج',
      chat: 'محادثة',
      newChat: 'دردشة جديدة',
      send: 'يرسل',
      sendPlaceholder: 'مراسلة المساعد...',
      chatConfiguration: 'تكوين الدردشة',
      chatConfigurationDescription:
        'قم بإعداد مساعد دردشة لمجموعات البيانات المحددة (قواعد المعرفة) هنا! 💕',
      assistantName: 'اسم المساعد',
      assistantNameMessage: 'اسم المساعد مطلوب',
      namePlaceholder: 'على سبيل المثال استئناف جارفيس',
      assistantAvatar: 'الصورة الرمزية مساعد',
      language: 'لغة',
      emptyResponse: 'رد فارغ',
      emptyResponseTip:
        'قم بتعيين هذا كرد إذا لم يتم استرداد أي نتائج من قواعد المعرفة لاستعلامك، أو اترك هذا الحقل فارغًا للسماح لـ LLM بالارتجال عندما لا يتم العثور على أي شيء.',
      emptyResponseMessage:
        'سيتم تشغيل الاستجابة الفارغة عندما لا يتم استرداد أي شيء ذي صلة من قواعد المعرفة. يجب عليك مسح حقل "الاستجابة الفارغة" إذا لم يتم تحديد قاعدة معرفية.',
      setAnOpener: 'تحية افتتاحية',
      setAnOpenerInitial: 'أهلاً! أنا مساعدك. ما الذي يمكنني أن أفعله من أجلك؟',
      setAnOpenerTip: 'تعيين تحية افتتاحية للمستخدمين.',
      knowledgeBases: 'مجموعات البيانات',
      knowledgeBasesMessage: 'الرجاء التحديد',
      knowledgeBasesTip:
        'حدد مجموعات البيانات المراد ربطها بمساعد الدردشة هذا. لن تظهر قاعدة المعرفة الفارغة في القائمة المنسدلة.',
      system: 'موجه النظام',
      systemInitialValue:
        'أنت مساعد ذكي. وظيفتك الأساسية هي الإجابة على الأسئلة بناءً على قاعدة المعرفة المقدمة بشكل صارم.\n\n      ** القواعد الأساسية: **\n        - يجب أن تكون إجابتك مستمدة **فقط** من قاعدة المعرفة هذه: `{knowledge}`.\n        - **عند توفر المعلومات**: قم بتلخيص المحتوى لتقديم إجابة مفصلة.\n        - **عندما لا تكون المعلومات متاحة**: يجب أن يحتوي ردك على هذه الجملة بالضبط: "الإجابة التي تبحث عنها غير موجودة في قاعدة المعرفة!"\n        - **فكر دائمًا** في سجل المحادثة بأكمله.',
      systemMessage: 'يرجى الإدخال!',
      systemTip:
        'مطالباتك أو تعليماتك الخاصة بـ LLM، بما في ذلك على سبيل المثال لا الحصر دورها والطول المطلوب ونبرة ولغة إجاباتها. إذا كان النموذج الخاص بك يتمتع بدعم أصلي للاستدلال، فيمكنك إضافة //no_thinking لإضافة المطالبة لإيقاف الاستدلال.',
      topN: 'أعلى ن',
      topNTip:
        'لن يتم إرسال جميع الأجزاء ذات درجة التشابه أعلى من "عتبة التشابه" إلى LLM. يؤدي هذا إلى تحديد قطع "Top N" من القطع المستردة.',
      variable: 'عامل',
      variableTip:
        'عند استخدامها مع واجهات برمجة تطبيقات إدارة مساعد الدردشة الخاصة بـ RAGFlow، يمكن للمتغيرات أن تساعد في تطوير إستراتيجيات موجهة للنظام أكثر مرونة. سيتم استخدام المتغيرات المحددة بواسطة "موجه النظام" كجزء من المطالبات الخاصة بـ LLM. {knowledge} هو متغير خاص محجوز يمثل الأجزاء المستردة من قاعدة (قواعد) المعرفة المحددة، ويجب وضع جميع المتغيرات بين قوسين متعرجين {} في "موجه النظام". راجع https://ragflow.io/docs/dev/set_chat_variables للحصول على التفاصيل.',
      add: 'يضيف',
      key: 'مفتاح',
      optional: 'خياري',
      operation: 'عملية',
      model: 'نموذج',
      modelTip: 'نموذج دردشة لغة كبيرة',
      modelMessage: 'الرجاء التحديد!',
      modelEnabledTools: 'الأدوات الممكّنة',
      modelEnabledToolsTip:
        'الرجاء تحديد أداة واحدة أو أكثر لاستخدامها في نموذج الدردشة. لا يؤثر ذلك على النماذج التي لا تدعم استدعاء الأداة.',
      freedom: 'إِبداع',
      improvise: 'ارتجل',
      precise: 'دقيق',
      balance: 'توازن',
      custom: 'مخصص',
      freedomTip:
        'اختصار لإعدادات "درجة الحرارة"، و"Top P"، و"عقوبة الحضور"، و"عقوبة التردد"، للإشارة إلى مستوى حرية النموذج. تحتوي هذه المعلمة على ثلاثة خيارات: حدد "ارتجال" لإنتاج استجابات أكثر إبداعًا؛ حدد "دقيق" (افتراضي) لإنتاج ردود أكثر تحفظًا؛ "التوازن" هو حل وسط بين "الارتجال" و"الدقة".',
      temperature: 'درجة حرارة',
      temperatureMessage: 'درجة الحرارة مطلوبة',
      temperatureTip:
        'تتحكم هذه المعلمة في عشوائية تنبؤات النموذج. تؤدي درجة الحرارة المنخفضة إلى استجابات أكثر تحفظًا، في حين تؤدي درجة الحرارة المرتفعة إلى استجابات أكثر إبداعًا وتنوعًا.',
      topP: 'أعلى ص',
      topPMessage: 'مطلوب أعلى P',
      topPTip:
        'تُعرف هذه المعلمة أيضًا باسم "أخذ العينات النووية"، وتحدد عتبة لاختيار مجموعة أصغر من الكلمات الأكثر احتمالية لأخذ عينة منها، مما يؤدي إلى قطع الكلمات الأقل احتمالًا.',
      presencePenalty: 'عقوبة الحضور',
      presencePenaltyMessage: 'مطلوب عقوبة الحضور',
      presencePenaltyTip:
        'وهذا لا يشجع النموذج على تكرار نفس المعلومات عن طريق معاقبة الكلمات التي ظهرت بالفعل في المحادثة.',
      frequencyPenalty: 'عقوبة التردد',
      frequencyPenaltyMessage: 'مطلوب عقوبة التردد',
      frequencyPenaltyTip:
        'وعلى غرار عقوبة الحضور، فإن هذا يقلل من ميل النموذج إلى تكرار نفس الكلمات بشكل متكرر.',
      maxTokens: 'الرموز القصوى',
      maxTokensMessage: 'مطلوب الحد الأقصى من الرموز',
      maxTokensTip:
        'الحد الأقصى لحجم سياق النموذج؛ ستتسبب القيمة غير الصالحة أو غير الصحيحة في حدوث خطأ. الافتراضي هو 512.',
      maxTokensInvalidMessage: 'الرجاء إدخال رقم صالح لرموز الحد الأقصى.',
      maxTokensMinMessage: 'لا يمكن أن يكون الحد الأقصى للرموز أقل من 0.',
      quote: 'عرض الاقتباس',
      quoteTip: 'ما إذا كان سيتم عرض النص الأصلي كمرجع.',
      selfRag: 'خرقة ذاتية',
      selfRagTip: 'يرجى الرجوع إلى: https://huggingface.co/papers/2310.11511',
      overview: 'معرف الدردشة',
      pv: 'عدد الرسائل',
      uv: 'رقم المستخدم النشط',
      speed: 'سرعة إخراج الرمز',
      tokens: 'استهلك الرقم المميز',
      round: 'رقم تفاعل الجلسة',
      thumbUp: 'رضا العملاء',
      preview: 'معاينة',
      embedded: 'مغروس',
      serviceApiEndpoint: 'نقطة نهاية واجهة برمجة تطبيقات الخدمة',
      apiKey: 'مفتاح واجهة برمجة التطبيقات',
      apiReference: 'وثائق API',
      dateRange: 'النطاق الزمني:',
      backendServiceApi: 'خادم API',
      createNewKey: 'إنشاء مفتاح جديد',
      created: 'مخلوق',
      action: 'فعل',
      embedModalTitle: 'تضمين في صفحة الويب',
      comingSoon: 'قريباً',
      fullScreenTitle: 'تضمين كامل',
      fullScreenDescription:
        'قم بتضمين إطار iframe التالي في موقع الويب الخاص بك في الموقع المطلوب',
      partialTitle: 'تضمين جزئي',
      extensionTitle: 'ملحق كروم',
      tokenError: 'الرجاء إنشاء مفتاح API أولاً.',
      betaError:
        'يرجى الحصول على مفتاح RAGFlow API من صفحة إعدادات النظام أولاً.',
      searching: 'جارٍ البحث...',
      parsing: 'إعراب',
      uploading: 'جارٍ التحميل',
      uploadFailed: 'فشل التحميل',
      regenerate: 'تجديد',
      read: 'قراءة المحتوى',
      tts: 'تحويل النص إلى كلام',
      ttsTip:
        'تأكد من تحديد نموذج TTS في صفحة الإعدادات قبل تمكين هذا التبديل لتشغيل النص كصوت.',
      relatedQuestion: 'سؤال ذو صلة',
      answerTitle: 'ر',
      multiTurn: 'متعدد بدوره الأمثل',
      multiTurnTip:
        'يؤدي هذا إلى تحسين استعلامات المستخدم باستخدام السياق في محادثة متعددة الجولات. عند تمكينه، سوف يستهلك رموز LLM إضافية.',
      howUseId: 'كيفية استخدام معرف الدردشة؟',
      description: 'وصف المساعد',
      descriptionPlaceholder: 'على سبيل المثال مساعد الدردشة للسيرة الذاتية.',
      useKnowledgeGraph: 'استخدام الرسم البياني المعرفة',
      useKnowledgeGraphTip:
        'ما إذا كان سيتم استخدام الرسم البياني (الرسومات) المعرفية في قاعدة (قواعد) المعرفة المحددة أثناء الاسترداد للإجابة على الأسئلة متعددة القفزات. عند التمكين، قد يتضمن ذلك عمليات بحث متكررة عبر أجزاء تقرير الكيان والعلاقة والمجتمع، مما يؤدي إلى زيادة وقت الاسترجاع بشكل كبير.',
      keyword: 'تحليل الكلمات الرئيسية',
      keywordTip:
        'استخدم LLM لتحليل أسئلة المستخدم، واستخراج الكلمات الرئيسية التي سيتم التأكيد عليها أثناء حساب الصلة. يعمل بشكل جيد مع الاستفسارات الطويلة ولكنه سيزيد من وقت الاستجابة.',
      languageTip:
        'يسمح بإعادة كتابة الجملة باللغة المحددة أو الإعداد الافتراضي للسؤال الأخير إذا لم يتم تحديده.',
      avatarHidden: 'إخفاء الصورة الرمزية',
      locale: 'لغة',
      selectLanguage: 'اختر لغة',
      reasoning: 'المنطق',
      reasoningTip:
        'ما إذا كان سيتم تمكين سير عمل الاستدلال أثناء الإجابة على الأسئلة، كما هو موضح في نماذج مثل Deepseek-R1 أو OpenAI o1. عند تمكينه، يسمح هذا للنموذج بالوصول إلى المعرفة الخارجية ومعالجة الأسئلة المعقدة بطريقة خطوة بخطوة، مع الاستفادة من تقنيات مثل تفكير سلسلة الأفكار. يعزز هذا النهج قدرة النموذج على تقديم استجابات دقيقة عن طريق تقسيم المشكلات إلى خطوات يمكن التحكم فيها، وتحسين الأداء في المهام التي تتطلب تفكيرًا منطقيًا وتفكيرًا متعدد الخطوات.',
      tavilyApiKeyTip:
        'إذا تم تعيين مفتاح API بشكل صحيح هنا، فسيتم استخدام عمليات البحث على الويب المستندة إلى Tavily لتكملة استرجاع قاعدة المعرفة.',
      tavilyApiKeyMessage: 'الرجاء إدخال مفتاح Tavily API الخاص بك',
      tavilyApiKeyHelp: 'كيفية الحصول عليه؟',
      crossLanguage: 'البحث عبر اللغات',
      crossLanguageTip:
        'حدد لغة واحدة أو أكثر للبحث بين اللغات. إذا لم يتم تحديد أي لغة، فسيقوم النظام بالبحث باستخدام الاستعلام الأصلي.',
      createChat: 'إنشاء دردشة',
      metadata: 'بيانات التعريف',
      metadataTip:
        'تصفية البيانات التعريفية هي عملية استخدام سمات البيانات التعريفية (مثل العلامات أو الفئات أو أذونات الوصول) لتحسين عملية استرجاع المعلومات ذات الصلة داخل النظام والتحكم فيها.',
      conditions: 'شروط',
      metadataKeys: 'العناصر القابلة للتصفية',
      addCondition: 'إضافة شرط',
      meta: {
        disabled: 'عاجز',
        auto: 'تلقائي',
        manual: 'يدوي',
        semi_auto: 'شبه تلقائي',
      },
      cancel: 'يلغي',
      chatSetting: 'إعداد الدردشة',
      tocEnhance: 'فهرس الصفحة',
      tocEnhanceTip:
        'أثناء تحليل المستند، تم إنشاء معلومات جدول المحتويات (راجع خيار "تمكين استخراج جدول المحتويات" في الطريقة العامة). يسمح هذا للنموذج الكبير بإرجاع عناصر جدول المحتويات ذات الصلة باستعلام المستخدم، وبالتالي استخدام هذه العناصر لاسترداد الأجزاء ذات الصلة وتطبيق الترجيح على هذه القطع أثناء عملية الفرز. يحاكي هذا الأسلوب سلوك الإنسان في البحث عن المعلومات في الكتب.',
      batchDeleteSessions: 'حذف دفعة',
      deleteSelectedConfirm: 'هل تريد حذف الجلسة/الجلسات المحددة ({{count}})؟',
    },
    setting: {
      Verify: 'يؤكد',
      keyValid: 'مفتاح API الخاص بك صالح.',
      keyInvalid: 'مفتاح API الخاص بك غير صالح.',
      deleteModel: 'حذف النموذج',
      bedrockCredentialsHint:
        'نصيحة: اترك مفتاح الوصول / المفتاح السري فارغًا لاستخدام مصادقة AWS IAM.',
      awsAuthModeAccessKeySecret: 'مفتاح الوصول',
      awsAuthModeIamRole: 'دور IAM',
      awsAuthModeAssumeRole: 'تفترض الدور',
      awsAccessKeyId: 'معرف مفتاح الوصول إلى AWS',
      awsSecretAccessKey: 'مفتاح الوصول السري لـ AWS',
      awsRoleArn: 'دور AWS ARN',
      awsRoleArnMessage: 'الرجاء إدخال ARN لدور AWS',
      awsAssumeRoleTip:
        'إذا حددت هذا الوضع، فسيتولى مثيل Amazon EC2 دوره الحالي للوصول إلى خدمات AWS. لا توجد بيانات اعتماد إضافية مطلوبة.',
      modelEmptyTip:
        'لا توجد نماذج متاحة. <br> الرجاء إضافة نماذج من اللوحة الموجودة على اليمين.',
      sourceEmptyTip:
        'لم تتم إضافة أي مصادر بيانات حتى الآن. اختر واحدة أدناه للاتصال.',
      seconds: 'ثواني',
      minutes: 'دقائق',
      edit: 'يحرر',
      cropTip:
        'اسحب منطقة التحديد لاختيار موضع اقتصاص الصورة، ثم قم بالتمرير للتكبير/التصغير',
      cropImage: 'صورة المحاصيل',
      selectModelPlaceholder: 'حدد النموذج',
      configureModelTitle: 'تكوين النموذج',
      connectorNameTip: 'اسم وصفي للموصل',
      confluenceIsCloudTip:
        'تحقق مما إذا كان هذا هو مثيل Confluence Cloud، قم بإلغاء تحديد Confluence Server/Data Center',
      confluenceWikiBaseUrlTip:
        'عنوان URL الأساسي لمثيل Confluence الخاص بك (على سبيل المثال، https://your-domain.atlassian.net/wiki)',
      confluenceSpaceKeyTip:
        'اختياري: حدد مفتاح مسافة لتقييد المزامنة بمساحة معينة. اتركه فارغًا لمزامنة جميع المساحات التي يمكن الوصول إليها. بالنسبة للمسافات المتعددة، افصل بينها بفواصل (على سبيل المثال، DEV،DOCS،HR)',
      s3PrefixTip:
        'حدد مسار المجلد داخل مجموعة S3 الخاصة بك لجلب الملفات منه.\nمثال: عام/v2/',
      S3CompatibleEndpointUrlTip:
        'مطلوب لصندوق تخزين متوافق مع S3. حدد عنوان URL لنقطة النهاية المتوافقة مع S3.\nمثال: https://fsn1.your-objectstorage.com',
      S3CompatibleAddressingStyleTip:
        'مطلوب لصندوق تخزين متوافق مع S3. حدد نمط العنونة المتوافق مع S3.\nمثال: النمط المستضاف الافتراضي',
      addDataSourceModalTitle: 'إضافة موصل {{name}}',
      deleteSourceModalTitle: 'حذف مصدر البيانات',
      deleteSourceModalContent:
        '<p>هل أنت متأكد من أنك تريد حذف رابط مصدر البيانات هذا؟</p>',
      deleteSourceModalConfirmText: 'يتأكد',
      errorMsg: 'رسالة خطأ',
      newDocs: 'مستندات جديدة',
      timeStarted: 'بدأ الوقت',
      log: 'سجل',
      confluenceDescription:
        'Integrate your Confluence workspace to search documentation.',
      s3Description:
        'Connect to your AWS S3 bucket to import and sync stored files.',
      google_cloud_storageDescription:
        'Connect your Google Cloud Storage bucket to import and sync files.',
      r2Description:
        'Connect your Cloudflare R2 bucket to import and sync files.',
      oci_storageDescription:
        'Connect your Oracle Cloud Object Storage bucket to import and sync files.',
      discordDescription:
        'Link your Discord server to access and analyze chat data.',
      notionDescription:
        'Sync pages and databases from Notion for knowledge retrieval.',
      google_driveDescription:
        'Connect your Google Drive via OAuth and sync specific folders or drives.',
      gmailDescription: 'Connect your Gmail via OAuth to sync emails.',
      webdavDescription: 'Connect to WebDAV servers to sync files.',
      webdavRemotePathTip:
        'Optional: Specify a folder path on the WebDAV server (e.g., /Documents). Leave empty to sync from root.',
      google_driveTokenTip:
        'Upload the OAuth token JSON generated from the OAuth helper or Google Cloud Console. You may also upload a client_secret JSON from an "installed" or "web" application. If this is your first sync, a browser window will open to complete the OAuth consent. If the JSON already contains a refresh token, it will be reused automatically.',
      google_drivePrimaryAdminTip:
        'Email address that has access to the Drive content being synced',
      zendeskDescription:
        'Connect your Zendesk to sync tickets, articles, and other content.',
      google_driveMyDriveEmailsTip:
        'Comma-separated emails whose "My Drive" contents should be indexed (include the primary admin).',
      google_driveSharedFoldersTip:
        'Comma-separated Google Drive folder links to crawl.',
      gmailPrimaryAdminTip:
        'Primary admin email with Gmail / Workspace access, used to enumerate domain users and as the default sync account.',
      gmailTokenTip:
        'Upload the OAuth JSON generated from Google Console. If it only contains client credentials, run the browser-based verification once to mint long-lived refresh tokens.',
      dropboxDescription:
        'Connect your Dropbox to sync files and folders from a chosen account.',
      bitbucketDescription: 'Connect Bitbucket to sync PR content.',
      bitbucketTopWorkspaceTip:
        'The Bitbucket workspace to index (e.g., "atlassian" from https://bitbucket.org/atlassian/workspace ).',
      bitbucketRepositorySlugsTip:
        'Comma separated repository slugs. E.g., repo-one,repo-two',
      bitbucketProjectsTip: 'Comma separated project keys. E.g., PROJ1,PROJ2',
      bitbucketWorkspaceTip:
        'This connector will index all repositories in the workspace.',
      boxDescription: 'Connect your Box drive to sync files and folders.',
      githubDescription:
        'Connect GitHub to sync pull requests and issues for retrieval.',
      airtableDescription:
        'Connect to Airtable and synchronize files from a specified table within a designated workspace.',
      gitlabDescription:
        'Connect GitLab to sync repositories, issues, merge requests, and related documentation.',
      asanaDescription:
        'Connect to Asana and synchronize files from a specified workspace.',
      imapDescription:
        'Connect to your IMAP mailbox to sync emails for knowledge retrieval.',
      dropboxAccessTokenTip:
        'Generate a long-lived access token in the Dropbox App Console with files.metadata.read, files.content.read, and sharing.read scopes.',
      moodleDescription:
        'Connect to your Moodle LMS to sync course content, forums, and resources.',
      moodleUrlTip:
        'The base URL of your Moodle instance (e.g., https://moodle.university.edu). Do not include /webservice or /login.',
      moodleTokenTip:
        'Generate a web service token in Moodle: Go to Site administration → Server → Web services → Manage tokens. The user must be enrolled in the courses you want to sync.',
      seafileDescription:
        'Connect to your SeaFile server to synchronise files and documents from your libraries.',
      seafileUrlTip:
        'The full URL of your SeaFile server including the protocol. Example: https://seafile.example.com - Do not include a trailing slash or any path after the domain.',
      seafileAccountScopeTip:
        'Syncs all libraries visible to the Account API Token below.',
      seafileTokenPanelHeading: 'Provide one of these authentication methods:',
      seafileTokenPanelAccountBullet: '- grants access to all your libraries.',
      seafileTokenPanelLibraryBullet:
        '— scoped to a single library only (more secure).',
      seafileValidationAccountTokenRequired:
        'Account API Token is required for Entire Account scope',
      seafileValidationTokenRequired:
        'Provide either an Account API Token or a Library Token',
      seafileValidationLibraryIdRequired: 'Library ID is required',
      seafileValidationDirectoryPathRequired: 'Directory Path is required',
      seafileSyncScopeTip:
        'Controls what gets synchronised: (1) Entire Account - Syncs all libraries your token has access to. Requires an Account API Token. (2) Single Library - Syncs all files within one specific library. Requires the Library ID and either an Account API Token or a Library API Token. (3) Specific Directory - Syncs only files within a specific folder inside a library. Requires the Library ID, the folder path within that library, and either an Account API Token or a Library API Token.',
      seafileTokenTip:
        'Your account-level SeaFile API token. Grants access to all libraries visible to your account. Required when sync scope is "Entire Account". For "Single Library" or "Specific Directory" you can use this token or a Library API Token instead.',
      seafileRepoTokenTip:
        'A library-scoped API token that only grants access to one specific library. Can be used instead of the Account API Token for "Single Library" and "Specific Directory" sync scopes.',
      seafileRepoIdTip:
        'The unique identifier (UUID) of the SeaFile library you want to synchronise. You can find it in your browser address bar when you open the library in the SeaFile web interface. Example: 7a9e1b3c-4d5f-6a7b-8c9d-0e1f2a3b4c5d. Required when sync scope is "Single Library" or "Specific Directory".',
      seafileSyncPathTip:
        'The absolute path of the folder to synchronise within the library specified by the Library ID above. Must start with a forward slash. All files and subfolders under this path will be included recursively. Example: /Documents/Reports. Important: The folder must exist inside the specified library. Paths outside the library are not supported. Only used when sync scope is "Specific Directory".',
      seafileIncludeSharedTip:
        'When enabled, libraries that other users have shared with you are included in the synchronisation. When disabled, only libraries owned by your account are synchronised. Only applies when sync scope is "Entire Account".',
      seafileBatchSizeTip:
        'The number of documents processed and returned per batch during synchronisation. A smaller value uses less memory but may be slower overall. Default: 100.',
      jiraDescription:
        'Connect your Jira workspace to sync issues, comments, and attachments.',
      jiraBaseUrlTip:
        'Base URL of your Jira site (e.g., https://your-domain.atlassian.net).',
      jiraProjectKeyTip:
        'Optional: limit syncing to a single project key (e.g., ENG).',
      jiraJqlTip:
        'Optional JQL filter. Leave blank to rely on project/time filters.',
      jiraBatchSizeTip:
        'Maximum number of issues requested from Jira per batch.',
      jiraCommentsTip:
        'Include Jira comments in the generated markdown document.',
      jiraAttachmentsTip:
        'Download attachments as separate documents during sync.',
      jiraAttachmentSizeTip:
        'Attachments larger than this number of bytes will be skipped.',
      jiraLabelsTip:
        'Labels that should be skipped while indexing (comma separated).',
      jiraBlacklistTip:
        'Comments whose author email matches these entries will be ignored.',
      jiraScopedTokenTip:
        'Enable this when using scoped Atlassian tokens (api.atlassian.com).',
      jiraEmailTip: 'Email associated with the Jira account/API token.',
      jiraTokenTip:
        'API token generated from https://id.atlassian.com/manage-profile/security/api-tokens.',
      jiraPasswordTip:
        'Optional password for Jira Server/Data Center environments.',
      mysqlDescription:
        'Connect to MySQL database to sync data from tables using SQL queries.',
      mysqlQueryTip:
        'SQL query to extract data from your database (e.g., SELECT * FROM products WHERE status = "active").',
      mysqlContentColumnsTip:
        'Comma-separated column names whose values will be combined as document content for vectorization.',
      mysqlMetadataColumnsTip:
        'Comma-separated column names to store as document metadata (not vectorized, but searchable).',
      mysqlIdColumnTip:
        'Column to use as unique document ID. If not specified, a hash of the content will be used.',
      mysqlTimestampColumnTip:
        'Datetime/timestamp column for incremental sync. Only rows modified after the last sync will be fetched.',
      postgresqlDescription:
        'Connect to PostgreSQL database to sync data from tables using SQL queries.',
      postgresqlQueryTip:
        "SQL query to extract data from your database (e.g., SELECT * FROM products WHERE status = 'active').",
      postgresqlContentColumnsTip:
        'Comma-separated column names whose values will be combined as document content for vectorization.',
      postgresqlMetadataColumnsTip:
        'Comma-separated column names to store as document metadata (not vectorized, but searchable).',
      postgresqlIdColumnTip:
        'Column to use as unique document ID. If not specified, a hash of the content will be used.',
      postgresqlTimestampColumnTip:
        'Datetime/timestamp column for incremental sync. Only rows modified after the last sync will be fetched.',
      availableSourcesDescription: 'حدد مصدر بيانات لإضافته',
      availableSources: 'المصادر المتاحة',
      datasourceDescription: 'إدارة مصدر البيانات والاتصالات الخاصة بك',
      save: 'يحفظ',
      search: 'يبحث',
      availableModels: 'النماذج المتاحة',
      profile: 'حساب تعريفي',
      avatar: 'الصورة الرمزية',
      avatarTip: 'سيتم عرض هذا في ملفك الشخصي.',
      profileDescription: 'قم بتحديث صورتك وتفاصيلك الشخصية هنا.',
      maxTokens: 'الرموز القصوى',
      maxTokensMessage: 'مطلوب الحد الأقصى من الرموز',
      maxTokensTip:
        'الحد الأقصى لحجم سياق النموذج؛ ستتسبب القيمة غير الصالحة أو غير الصحيحة في حدوث خطأ. الافتراضي هو 512.',
      maxTokensInvalidMessage: 'الرجاء إدخال رقم صالح لرموز الحد الأقصى.',
      maxTokensMinMessage: 'لا يمكن أن يكون الحد الأقصى للرموز أقل من 0.',
      password: 'كلمة المرور',
      passwordDescription:
        'الرجاء إدخال كلمة المرور الحالية لتغيير كلمة المرور الخاصة بك.',
      model: 'مقدمي النماذج',
      systemModelDescription: 'يرجى إكمال هذه الإعدادات قبل البدء',
      dataSources: 'مصادر البيانات',
      team: 'فريق',
      system: 'نظام',
      logout: 'تسجيل الخروج',
      api: 'واجهة برمجة التطبيقات',
      username: 'اسم',
      usernameMessage: 'الرجاء إدخال اسم المستخدم الخاص بك!',
      photo: 'صورتك',
      photoDescription: 'سيتم عرض هذا في ملفك الشخصي.',
      colorSchema: 'مخطط اللون',
      colorSchemaMessage: 'الرجاء تحديد مخطط الألوان الخاص بك!',
      colorSchemaPlaceholder: 'حدد مخطط الألوان الخاص بك',
      bright: 'ساطع',
      dark: 'مظلم',
      timezone: 'المنطقة الزمنية',
      timezoneMessage: 'الرجاء إدخال المنطقة الزمنية الخاصة بك!',
      timezonePlaceholder: 'حدد منطقتك الزمنية',
      email: 'بريد إلكتروني',
      emailDescription: 'بمجرد التسجيل، لا يمكن تغيير البريد الإلكتروني.',
      currentPassword: 'كلمة المرور الحالية',
      currentPasswordMessage: 'الرجاء إدخال كلمة المرور الخاصة بك!',
      newPassword: 'كلمة المرور الجديدة',
      changePassword: 'تغيير كلمة المرور',
      newPasswordMessage: 'الرجاء إدخال كلمة المرور الخاصة بك!',
      newPasswordDescription: 'يجب أن تكون كلمة المرور الجديدة أكثر من 8 أحرف.',
      confirmPassword: 'تأكيد كلمة المرور الجديدة',
      confirmPasswordMessage: 'يرجى تأكيد كلمة المرور الخاصة بك!',
      confirmPasswordNonMatchMessage:
        'كلمة المرور الجديدة التي أدخلتها غير متطابقة!',
      cancel: 'يلغي',
      addedModels: 'النماذج المضافة',
      modelsToBeAdded: 'النماذج المراد إضافتها',
      addTheModel: 'يضيف',
      apiKey: 'مفتاح API',
      apiKeyMessage: 'الرجاء إدخال مفتاح API',
      apiKeyTip: 'يمكن الحصول على مفتاح API عن طريق تسجيل مورد LLM المقابل.',
      showMoreModels: 'عرض النماذج',
      hideModels: 'إخفاء النماذج',
      baseUrl: 'عنوان URL الأساسي',
      baseUrlTip:
        'إذا كان مفتاح API الخاص بك من OpenAI، فما عليك سوى تجاهله. سيعطي أي مقدمي خدمة وسيطين آخرين عنوان URL الأساسي هذا مع مفتاح واجهة برمجة التطبيقات (API).',
      tongyiBaseUrlTip:
        'بالنسبة للمستخدمين الصينيين، لا حاجة لملء أو استخدام https://dashscope.aliyuncs.com/compatible-mode/v1. للمستخدمين الدوليين، استخدم https://dashscope-intl.aliyuncs.com/compatible-mode/v1',
      tongyiBaseUrlPlaceholder:
        '(للمستخدمين الدوليين فقط، يرجى الاطلاع على النصيحة)',
      minimaxBaseUrlTip:
        'للمستخدمين الدوليين فقط: استخدم https://api.minimax.io/v1',
      minimaxBaseUrlPlaceholder:
        '(للمستخدمين الدوليين فقط، املأ https://api.minimax.io/v1)',
      modify: 'يُعدِّل',
      systemModelSettings: 'تعيين النماذج الافتراضية',
      chatModel: 'LLM',
      chatModelTip: 'LLM الافتراضي لكل قاعدة معرفية تم إنشاؤها حديثًا.',
      embeddingModel: 'التضمين',
      embeddingModelTip:
        'نموذج التضمين الافتراضي لكل قاعدة معرفية تم إنشاؤها حديثًا. إذا لم تتمكن من العثور على نموذج التضمين من القائمة المنسدلة، فتحقق مما إذا كنت تستخدم إصدار RAGFlow النحيف (الذي لا يتضمن نماذج التضمين) أو تحقق من https://ragflow.io/docs/dev/supported_models لمعرفة ما إذا كان موفر النموذج الخاص بك يدعم هذا النموذج.',
      img2txtModel: 'VLM',
      img2txtModelTip:
        'VLM الافتراضي لكل قاعدة معارف تم إنشاؤها حديثًا. وهو يصف صورة أو مقطع فيديو. إذا لم تتمكن من العثور على نموذج من القائمة المنسدلة، فراجع https://ragflow.io/docs/dev/supported_models لمعرفة ما إذا كان موفر النموذج الخاص بك يدعم هذا النموذج.',
      sequence2txtModel: 'ASR',
      sequence2txtModelTip:
        'نموذج ASR الافتراضي لكل مجموعة بيانات تم إنشاؤها حديثًا. استخدم هذا النموذج لترجمة الأصوات إلى النص المقابل.',
      rerankModel: 'إعادة الترتيب',
      rerankModelTip:
        'نموذج إعادة الترتيب الافتراضي لإعادة ترتيب القطع. إذا لم تتمكن من العثور على نموذج من القائمة المنسدلة، فراجع https://ragflow.io/docs/dev/supported_models لمعرفة ما إذا كان موفر النموذج الخاص بك يدعم هذا النموذج.',
      ttsModel: 'تحويل النص إلى كلام',
      ttsModelTip:
        'النموذج الافتراضي لتحويل النص إلى كلام. إذا لم تتمكن من العثور على نموذج من القائمة المنسدلة، فراجع https://ragflow.io/docs/dev/supported_models لمعرفة ما إذا كان موفر النموذج الخاص بك يدعم هذا النموذج.',
      workspace: 'مساحة العمل',
      upgrade: 'يرقي',
      addLlmTitle: 'أضف LLM',
      editLlmTitle: 'تحرير النموذج {{name}}',
      editModel: 'تحرير النموذج',
      modelName: 'اسم النموذج',
      modelID: 'معرف النموذج',
      modelUid: 'المعرف الفريد للنموذج',
      modelNameMessage: 'الرجاء إدخال اسم النموذج الخاص بك!',
      modelType: 'نوع النموذج',
      modelTypeMessage: 'الرجاء إدخال نوع النموذج الخاص بك!',
      addLlmBaseUrl: 'عنوان URL الأساسي',
      baseUrlNameMessage: 'الرجاء إدخال عنوان URL الأساسي الخاص بك!',
      paddleocr: {
        apiUrl: 'عنوان URL لواجهة برمجة تطبيقات PaddleOCR',
        apiUrlPlaceholder:
          'على سبيل المثال: https://paddleocr-server.com/layout-parsing',
        accessToken: 'رمز الوصول إلى استوديو الذكاء الاصطناعي',
        accessTokenPlaceholder: 'رمز AI Studio الخاص بك (اختياري)',
        algorithm: 'خوارزمية PaddleOCR',
        selectAlgorithm: 'حدد الخوارزمية',
        modelNamePlaceholder: 'على سبيل المثال: paddleocr-from-env-1',
        modelNameRequired: 'اسم النموذج مطلوب',
        apiUrlRequired: 'مطلوب عنوان URL لواجهة برمجة تطبيقات PaddleOCR',
      },
      vision: 'هل يدعم الرؤية؟',
      ollamaLink: 'كيفية دمج {{name}}',
      FishAudioLink: 'كيفية استخدام فيش اوديو',
      TencentCloudLink: 'كيفية استخدام TencentCloud ASR',
      volcModelNameMessage: 'الرجاء إدخال اسم النموذج الخاص بك!',
      addEndpointID: 'معرف نقطة النهاية للنموذج',
      endpointIDMessage: 'يرجى إدخال معرف نقطة النهاية الخاص بك للنموذج',
      addArkApiKey: 'فولك ARK_API_KEY',
      ArkApiKeyMessage: 'الرجاء إدخال ARK_API_KEY الخاص بك',
      bedrockModelNameMessage: 'الرجاء إدخال اسم النموذج الخاص بك!',
      addBedrockEngineAK: 'مفتاح الوصول',
      bedrockAKMessage: 'الرجاء إدخال مفتاح الوصول الخاص بك',
      addBedrockSK: 'المفتاح السري',
      bedrockSKMessage: 'الرجاء إدخال المفتاح السري الخاص بك',
      bedrockRegion: 'منطقة أوس',
      bedrockRegionMessage: 'الرجاء التحديد!',
      'us-east-2': 'شرق الولايات المتحدة (أوهايو)',
      'us-east-1': 'شرق الولايات المتحدة (شمال فرجينيا)',
      'us-west-1': 'غرب الولايات المتحدة (شمال كاليفورنيا)',
      'us-west-2': 'غرب الولايات المتحدة (أوريغون)',
      'af-south-1': 'أفريقيا (كيب تاون)',
      'ap-east-1': 'آسيا والمحيط الهادئ (هونج كونج)',
      'ap-south-2': 'آسيا والمحيط الهادئ (حيدر أباد)',
      'ap-southeast-3': 'آسيا والمحيط الهادئ (جاكرتا)',
      'ap-southeast-5': 'آسيا والمحيط الهادئ (ماليزيا)',
      'ap-southeast-4': 'آسيا والمحيط الهادئ (ملبورن)',
      'ap-south-1': 'آسيا والمحيط الهادئ (مومباي)',
      'ap-northeast-3': 'آسيا والمحيط الهادئ (أوساكا)',
      'ap-northeast-2': 'آسيا والمحيط الهادئ (سيول)',
      'ap-southeast-1': 'آسيا والمحيط الهادئ (سنغافورة)',
      'ap-southeast-2': 'آسيا والمحيط الهادئ (سيدني)',
      'ap-east-2': 'آسيا والمحيط الهادئ (تايبيه)',
      'ap-southeast-7': 'آسيا والمحيط الهادئ (تايلاند)',
      'ap-northeast-1': 'آسيا والمحيط الهادئ (طوكيو)',
      'ca-central-1': 'كندا (الوسطى)',
      'ca-west-1': 'كندا الغربية (كالجاري)',
      'eu-central-1': 'أوروبا (فرانكفورت)',
      'eu-west-1': 'أوروبا (أيرلندا)',
      'eu-west-2': 'أوروبا (لندن)',
      'eu-south-1': 'أوروبا (ميلانو)',
      'eu-west-3': 'أوروبا (باريس)',
      'eu-south-2': 'أوروبا (إسبانيا)',
      'eu-north-1': 'أوروبا (ستوكهولم)',
      'eu-central-2': 'أوروبا (زيورخ)',
      'il-central-1': 'إسرائيل (تل أبيب)',
      'mx-central-1': 'المكسيك (الوسطى)',
      'me-south-1': 'الشرق الأوسط (البحرين)',
      'me-central-1': 'الشرق الأوسط (الإمارات العربية المتحدة)',
      'sa-east-1': 'أمريكا الجنوبية (ساو باولو)',
      'us-gov-east-1': 'AWS GovCloud (شرق الولايات المتحدة)',
      'us-gov-west-1': 'AWS GovCloud (غرب الولايات المتحدة)',
      addTencentCloudSID: 'معرف TencentCloud السري',
      TencentCloudSIDMessage: 'الرجاء إدخال معرفك السري',
      addTencentCloudSK: 'المفتاح السري TencentCloud',
      TencentCloudSKMessage: 'الرجاء إدخال المفتاح السري الخاص بك',
      SparkModelNameMessage: 'الرجاء تحديد طراز سبارك',
      addSparkAPIPassword: 'سبارك API كلمة المرور',
      SparkAPIPasswordMessage: 'يرجى إدخال كلمة مرور API الخاصة بك',
      addSparkAPPID: 'معرف تطبيق سبارك',
      SparkAPPIDMessage: 'يرجى إدخال معرف التطبيق الخاص بك',
      addSparkAPISecret: 'سبارك API Secret',
      SparkAPISecretMessage: 'يرجى إدخال APISecret الخاص بك',
      addSparkAPIKey: 'سبارك APIKey',
      SparkAPIKeyMessage: 'الرجاء إدخال APIKey الخاص بك',
      yiyanModelNameMessage: 'الرجاء إدخال اسم النموذج',
      addyiyanAK: 'مفتاح واجهة برمجة التطبيقات yiyan',
      yiyanAKMessage: 'الرجاء إدخال مفتاح API الخاص بك',
      addyiyanSK: 'مفتاح ييان السري',
      yiyanSKMessage: 'الرجاء إدخال المفتاح السري الخاص بك',
      FishAudioModelNameMessage: 'يرجى إعطاء اسم لنموذج تركيب الكلام الخاص بك',
      addFishAudioAK: 'مفتاح واجهة برمجة تطبيقات الصوت للأسماك',
      addFishAudioAKMessage: 'الرجاء إدخال مفتاح API الخاص بك',
      addFishAudioRefID: 'معرف مرجع FishAudio',
      addFishAudioRefIDMessage:
        'الرجاء إدخال المعرف المرجعي (اتركه فارغًا لاستخدام النموذج الافتراضي).',
      GoogleModelIDMessage: 'الرجاء إدخال معرف النموذج الخاص بك!',
      addGoogleProjectID: 'معرف المشروع',
      GoogleProjectIDMessage: 'الرجاء إدخال معرف المشروع الخاص بك',
      addGoogleServiceAccountKey:
        'مفتاح حساب الخدمة (اتركه فارغًا إذا كنت تستخدم بيانات اعتماد التطبيق الافتراضية)',
      GoogleServiceAccountKeyMessage:
        'يرجى إدخال مفتاح حساب خدمة Google Cloud بتنسيق base64',
      addGoogleRegion: 'منطقة جوجل السحابية',
      GoogleRegionMessage: 'الرجاء إدخال منطقة Google Cloud',
      modelProvidersWarn:
        'يرجى إضافة نموذج التضمين وLLM في <b>Settings > موفري النماذج</b> أولاً. ثم قم بتعيينها في "تعيين النماذج الافتراضية".',
      apiVersion: 'إصدار واجهة برمجة التطبيقات',
      apiVersionMessage: 'الرجاء إدخال إصدار API',
      add: 'يضيف',
      updateDate: 'تاريخ',
      role: 'ولاية',
      invite: 'دعوة عضو',
      agree: 'يقبل',
      refuse: 'انخفاض',
      teamMembers: 'أعضاء الفريق',
      joinedTeams: 'انضمت للفرق',
      sureDelete: 'هل أنت متأكد من إزالة هذا العضو؟',
      quit: 'يترك',
      sureQuit: 'هل أنت متأكد أنك تريد ترك الفريق الذي انضممت إليه؟',
      secretKey: 'المفتاح السري',
      publicKey: 'المفتاح العام',
      secretKeyMessage: 'الرجاء إدخال المفتاح السري',
      publicKeyMessage: 'الرجاء إدخال المفتاح العام',
      hostMessage: 'الرجاء إدخال المضيف',
      configuration: 'إعدادات',
      langfuseDescription:
        'التتبعات والتقييمات والإدارة السريعة والمقاييس لتصحيح أخطاء تطبيق LLM وتحسينه.',
      viewLangfuseSDocumentation: 'عرض وثائق لانجفيوز',
      view: 'منظر',
      modelsToBeAddedTooltip:
        'إذا لم يكن موفر النموذج الخاص بك مدرجًا ولكنه يدعي أنه "متوافق مع OpenAI"، فحدد البطاقة المتوافقة مع OpenAI-API لإضافة النموذج (النماذج) ذات الصلة.',
      mcp: 'العملية التشاورية المتعددة الأطراف',
      mineru: {
        modelNameRequired: 'اسم النموذج مطلوب',
        apiServerRequired: 'مطلوب تكوين خادم MinerU API',
        serverUrlBackendLimit:
          'عنوان URL لخادم MinerU متاح فقط للواجهة الخلفية لعميل HTTP',
        apiserver: 'تكوين خادم MinerU API',
        outputDir: 'مسار دليل إخراج MinerU',
        backend: 'نوع الواجهة الخلفية لمعالجة MinerU',
        serverUrl: 'عنوان URL لخادم MinerU',
        deleteOutput: 'حذف ملفات الإخراج بعد المعالجة',
        selectBackend: 'حدد المعالجة الخلفية',
        backendOptions: {
          pipeline: 'معالجة خطوط الأنابيب القياسية',
          vlmTransformers: 'نموذج لغة الرؤية مع المحولات',
          vlmVllmEngine: 'نموذج لغة الرؤية مع محرك vLLM',
          vlmHttpClient: 'نموذج لغة الرؤية عبر عميل HTTP',
          vlmMlxEngine: 'نموذج لغة الرؤية مع محرك MLX',
          vlmVllmAsyncEngine: 'نموذج لغة الرؤية مع محرك vLLM Async (تجريبي)',
          vlmLmdeployEngine: 'نموذج لغة الرؤية مع محرك LMDeploy (تجريبي)',
        },
      },
      modelTypes: {
        chat: 'محادثة',
        embedding: 'التضمين',
        rerank: 'إعادة الترتيب',
        sequence2text: 'تسلسل2نص',
        tts: 'تحويل النص إلى كلام',
        image2text: 'التعرف الضوئي على الحروف',
        speech2text: 'ASR',
      },
      showToc: 'عرض المحتوى',
      hideToc: 'إخفاء المحتوى',
    },
    message: {
      '200': 'يقوم الخادم بإرجاع البيانات المطلوبة بنجاح.',
      '201': 'إنشاء أو تعديل البيانات بنجاح.',
      '202': 'تم وضع الطلب في قائمة الانتظار في الخلفية (مهمة غير متزامنة).',
      '204': 'تم حذف البيانات بنجاح.',
      '400': 'حدث خطأ في الطلب الصادر، ولم ينشئ الخادم البيانات أو يعدلها.',
      '401': 'الرجاء تسجيل الدخول مرة أخرى.',
      '403': 'مسموح للمستخدم، ولكن الوصول محظور.',
      '404': 'تم تقديم طلب لسجل غير موجود، ولم يقم الخادم بتنفيذ العملية.',
      '406': 'التنسيق المطلوب غير متوفر.',
      '410': 'تم حذف المورد المطلوب نهائيًا ولن يكون متاحًا مرة أخرى.',
      '413': 'الحجم الإجمالي للملفات التي تم تحميلها مرة واحدة كبير جدًا.',
      '422': 'عند إنشاء كائن، حدث خطأ في التحقق من الصحة.',
      '500': 'حدث خطأ في الخادم، يرجى التحقق من الخادم.',
      '502': 'خطأ في البوابة.',
      '503': 'الخدمة غير متاحة والخادم محمل بشكل زائد مؤقتًا أو يخضع للصيانة.',
      '504': 'مهلة البوابة.',
      registered: 'مسجل!',
      logout: 'تسجيل الخروج',
      logged: 'تسجيل!',
      pleaseSelectChunk: 'الرجاء تحديد قطعة!',
      registerDisabled: 'تم تعطيل تسجيل المستخدم',
      modified: 'معدل',
      created: 'مخلوق',
      deleted: 'تم الحذف',
      renamed: 'تمت إعادة تسميته',
      operated: 'تعمل',
      updated: 'تم التحديث',
      uploaded: 'تم الرفع',
      requestError: 'خطأ في الطلب',
      networkAnomalyDescription: 'هناك خلل في شبكتك ولا يمكنك الاتصال بالخادم.',
      networkAnomaly: 'شذوذ الشبكة',
      hint: 'تَلمِيح',
    },
    fileManager: {
      files: 'ملفات',
      name: 'اسم',
      uploadDate: 'تاريخ التحميل',
      knowledgeBase: 'مجموعة البيانات',
      size: 'مقاس',
      action: 'فعل',
      addToKnowledge: 'رابط لمجموعة البيانات',
      pleaseSelect: 'الرجاء التحديد',
      newFolder: 'مجلد جديد',
      file: 'ملف',
      uploadFile: 'رفع ملف',
      parseOnCreation: 'تحليل على الخلق',
      directory: 'دليل',
      uploadTitle: 'قم بسحب وإسقاط ملفك هنا للتحميل',
      uploadDescription:
        'يدعم تحميل ملف واحد أو دفعي. بالنسبة إلى RAGFlow المنشور محليًا: يبلغ الحد الإجمالي لحجم الملف لكل عملية تحميل 1 جيجابايت، مع حد تحميل دفعة يبلغ 32 ملفًا. لا يوجد حد أقصى لإجمالي عدد الملفات لكل حساب. بالنسبة إلى cloud.ragflow.io، يبلغ الحد الأقصى لحجم الملف الإجمالي لكل عملية تحميل 10 ميجابايت، على ألا يتجاوز كل ملف 10 ميجابايت وبحد أقصى 128 ملفًا لكل حساب.',
      local: 'التحميلات المحلية',
      s3: 'تحميلات S3',
      preview: 'معاينة',
      fileError: 'خطأ في الملف',
      uploadLimit:
        'يجب ألا يتجاوز حجم كل ملف 10 ميجابايت، ويجب ألا يتجاوز إجمالي عدد الملفات 128.',
      destinationFolder: 'المجلد الوجهة',
      pleaseUploadAtLeastOneFile: 'يرجى تحميل ملف واحد على الأقل',
    },
    flow: {
      preprocess: {
        preprocess: 'المعالجة المسبقة',
        mainContent: 'المحتوى الرئيسي',
        abstract: 'خلاصة',
        author: 'مؤلف',
        sectionTitle: 'عنوان القسم',
      },
      autoPlay: 'تشغيل الصوت تلقائيًا',
      downloadFileTypeTip: 'نوع الملف المراد تنزيله',
      downloadFileType: 'تنزيل نوع الملف',
      formatTypeError: 'خطأ في التنسيق أو الكتابة',
      variableNameMessage:
        'يمكن أن يحتوي اسم المتغير فقط على أحرف وشرطات سفلية وأرقام',
      variableDescription: 'وصف متغير',
      defaultValue: 'القيمة الافتراضية',
      conversationVariable: 'متغير المحادثة',
      recommended: 'مُستَحسَن',
      customerSupport: 'دعم العملاء',
      marketing: 'تسويق',
      consumerApp: 'التطبيق المستهلك',
      other: 'آخر',
      ingestionPipeline: 'خط أنابيب الابتلاع',
      agents: 'الوكلاء',
      days: 'أيام',
      beginInput: 'ابدأ الإدخال',
      ref: 'عامل',
      stockCode: 'رمز المخزون',
      apiKeyPlaceholder:
        'YOUR_API_KEY (تم الحصول عليه من https://serpapi.com/manage-api-key)',
      flowStart: 'يبدأ',
      flowNum: 'ن',
      test: 'امتحان',
      extractDepth: 'استخراج العمق',
      format: 'شكل',
      basic: 'أساسي',
      advanced: 'متقدم',
      general: 'عام',
      searchDepth: 'عمق البحث',
      tavilyTopic: 'موضوع تافيلي',
      maxResults: 'النتائج القصوى',
      includeAnswer: 'تضمين الإجابة',
      includeRawContent: 'قم بتضمين المحتوى الخام',
      includeImages: 'تضمين الصور',
      includeImageDescriptions: 'تضمين أوصاف الصور',
      includeDomains: 'تضمين المجالات',
      ExcludeDomains: 'استبعاد المجالات',
      Days: 'أيام',
      comma: 'فاصلة',
      semicolon: 'فاصلة منقوطة',
      period: 'فترة',
      lineBreak: 'فاصل سطر',
      tab: 'فاتورة غير مدفوعة',
      space: 'فضاء',
      delimiters: 'المحددات',
      enableChildrenDelimiters: 'يتم استخدام قطعة الطفل للاسترجاع',
      merge: 'دمج',
      split: 'ينقسم',
      script: 'البرنامج النصي',
      iterationItemDescription:
        'وهو يمثل العنصر الحالي في التكرار، والذي يمكن الرجوع إليه ومعالجته في الخطوات اللاحقة.',
      guidingQuestion: 'سؤال إرشادي',
      onFailure: 'على الفشل',
      userPromptDefaultValue: 'هذا هو الطلب الذي يجب عليك إرساله إلى الوكيل.',
      search: 'يبحث',
      communication: 'تواصل',
      developer: 'المطور',
      typeCommandORsearch: 'اكتب أمرًا أو ابحث...',
      builtIn: 'مدمج',
      ExceptionDefaultValue: 'استثناء القيمة الافتراضية',
      exceptionMethod: 'طريقة الاستثناء',
      maxRounds: 'أقصى جولات الانعكاس',
      delayAfterError: 'التأخير بعد الخطأ',
      maxRetries: 'ماكس جولات إعادة المحاولة',
      advancedSettings: 'الإعدادات المتقدمة',
      addTools: 'أضف الأدوات',
      sysPromptDefaultValue:
        '<role>\n        أنت مساعد مفيد، مساعد AI متخصص في حل المشكلات للمستخدم.\n        إذا تم توفير مجال معين، فقم بتكييف خبرتك مع هذا المجال؛ خلاف ذلك، تعمل كأخصائي.\n      </role>\n      <instructions>\n        1. فهم طلب المستخدم.\n        2. قم بتحليلها إلى مهام فرعية منطقية.\n        3. قم بتنفيذ كل مهمة فرعية خطوة بخطوة، مع التفكير بشفافية.\n        4. التحقق من الدقة والاتساق.\n        5. تلخيص النتيجة النهائية بوضوح.\n      </instructions>',
      singleLineText: 'نص من سطر واحد',
      multimodalModels: 'نماذج متعددة الوسائط',
      textOnlyModels: 'نماذج نصية فقط',
      allModels: 'جميع الموديلات',
      codeExecDescription: 'اكتب منطق Python أو Javascript المخصص الخاص بك.',
      stringTransformDescription:
        'يعدل محتوى النص. يدعم حاليًا: تقسيم النص أو تسلسله.',
      foundation: 'مؤسسة',
      tools: 'أدوات',
      dataManipulation: 'التلاعب بالبيانات',
      flow: 'تدفق',
      dialog: 'حوار',
      cite: 'استشهد',
      citeTip: 'citeTip',
      name: 'اسم',
      nameMessage: 'الرجاء إدخال الاسم',
      description: 'وصف',
      descriptionMessage: 'هذا وكيل لمهمة محددة.',
      examples: 'أمثلة',
      to: 'ل',
      msg: 'رسائل',
      msgTip:
        'قم بإخراج المحتوى المتغير للمكون الرئيسي أو النص الذي أدخلته بنفسك.',
      messagePlaceholder:
        'الرجاء إدخال محتوى رسالتك، استخدم "/" لإدراج المتغيرات بسرعة.',
      messageMsg: 'الرجاء إدخال الرسالة أو حذف هذا الحقل.',
      addField: 'إضافة خيار',
      addMessage: 'أضف رسالة',
      loop: 'حلقة',
      loopDescription:
        'الحلقة هي الحد الأعلى لعدد حلقات المكون الحالي، عندما يتجاوز عدد الحلقات قيمة الحلقة، فهذا يعني أن المكون لا يمكنه إكمال المهمة الحالية، يرجى إعادة تحسين الوكيل',
      exitLoop: 'حلقة الخروج',
      exitLoopDescription:
        'أي ما يعادل "كسر". لا تحتوي هذه العقدة على عناصر تكوين. عندما يصل جسم الحلقة إلى هذه العقدة، تنتهي الحلقة.',
      loopVariables: 'متغيرات الحلقة',
      maximumLoopCount: 'الحد الأقصى لعدد الحلقات',
      loopTerminationCondition: 'حالة إنهاء الحلقة',
      yes: 'نعم',
      no: 'لا',
      key: 'مفتاح',
      componentId: 'معرف المكون',
      add: 'يضيف',
      operation: 'عملية',
      run: 'يجري',
      save: 'يحفظ',
      title: 'بطاقة تعريف:',
      beginDescription: 'هذا هو المكان الذي يبدأ فيه التدفق.',
      answerDescription:
        'مكون يعمل كواجهة بين الإنسان والروبوت، حيث يتلقى مدخلات المستخدم ويعرض استجابات الوكيل.',
      retrievalDescription:
        'مكون يقوم باسترداد المعلومات من قواعد المعرفة المحددة (مجموعات البيانات). تأكد من أن قواعد المعرفة التي تحددها تستخدم نفس نموذج التضمين.',
      generateDescription:
        'مكون يطالب LLM بإنشاء استجابات. تأكد من ضبط المطالبة بشكل صحيح.',
      categorizeDescription:
        'مكون يستخدم LLM لتصنيف مدخلات المستخدم إلى فئات محددة مسبقًا. تأكد من تحديد الاسم والوصف والأمثلة لكل فئة، بالإضافة إلى المكون التالي المقابل.',
      relevantDescription:
        'مكون يستخدم LLM لتقييم ما إذا كانت المخرجات الأولية ذات صلة بأحدث استعلام للمستخدم. تأكد من تحديد المكون التالي لكل نتيجة للحكم.',
      rewriteQuestionDescription:
        'مكون يقوم بإعادة كتابة استعلام مستخدم من مكون التفاعل، استنادًا إلى سياق مربعات الحوار السابقة.',
      messageDescription:
        'يقوم هذا المكون بإرجاع مخرجات البيانات النهائية لسير العمل بالإضافة إلى محتوى الرسالة المحددة مسبقًا.',
      keywordDescription:
        'مكون يقوم باسترداد أفضل نتائج بحث N من مدخلات المستخدم. تأكد من ضبط قيمة TopN بشكل صحيح قبل الاستخدام.',
      switchDescription:
        'مكون يقوم بتقييم الظروف بناءً على مخرجات المكونات السابقة ويوجه تدفق التنفيذ وفقًا لذلك. فهو يسمح بمنطق فرعي معقد من خلال تحديد الحالات وتحديد الإجراءات لكل حالة أو الإجراء الافتراضي في حالة عدم استيفاء أي شروط.',
      wikipediaDescription:
        'مكون يبحث من wikipedia.org، باستخدام TopN لتحديد عدد نتائج البحث. وهو يكمل قواعد المعرفة الموجودة.',
      promptText:
        'يرجى تلخيص الفقرات التالية. كن حذرا مع الأرقام، لا تختلق الأمور. الفقرات على النحو التالي:\n        {input}\n  ما ورد أعلاه هو المحتوى الذي تحتاج إلى تلخيصه.',
      createGraph: 'إنشاء وكيل',
      createFromTemplates: 'إنشاء من القالب',
      retrieval: 'استرجاع',
      generate: 'يولد',
      answer: 'يتفاعل',
      categorize: 'تصنيف',
      rewriteQuestion: 'أعد الكتابة',
      rewrite: 'أعد الكتابة',
      begin: 'يبدأ',
      message: 'رسالة',
      blank: 'فارغ',
      createFromNothing: 'قم بإنشاء وكيلك من الصفر',
      addItem: 'إضافة عنصر',
      addSubItem: 'إضافة عنصر فرعي',
      nameRequiredMsg: 'الاسم مطلوب',
      nameRepeatedMsg: 'لا يمكن تكرار الاسم',
      keywordExtract: 'الكلمة الرئيسية',
      keywordExtractDescription:
        'مكون يقوم باستخراج الكلمات الأساسية من استعلام المستخدم، مع تحديد Top N لعدد الكلمات الأساسية المطلوب استخراجها.',
      baidu: 'بايدو',
      baiduDescription:
        'مكون يبحث من موقع baidu.com، باستخدام TopN لتحديد عدد نتائج البحث. وهو يكمل قواعد المعرفة الموجودة.',
      duckDuckGo: 'دك دك جو',
      duckDuckGoDescription:
        'مكون يقوم بالبحث من موقع duckduckgo.com، مما يسمح لك بتحديد عدد نتائج البحث باستخدام TopN. وهو يكمل قواعد المعرفة الموجودة.',
      searXNG: 'احرق XNG',
      searXNGDescription:
        'مكون يبحث عبر عنوان URL لمثيل SearXNG المقدم. حدد TopN وعنوان URL للمثيل.',
      pdfGenerator: 'مولد المستندات',
      pDFGenerator: 'مولد المستندات',
      pdfGeneratorDescription:
        'مكون يقوم بإنشاء المستندات (PDF، DOCX، TXT) من محتوى بتنسيق تخفيض السعر مع تصميم وصور وجداول قابلة للتخصيص. يدعم: **غامق**، *مائل*، # عناوين، - قوائم، جداول مع | بناء الجملة.',
      pDFGeneratorDescription:
        'مكون يقوم بإنشاء المستندات (PDF، DOCX، TXT) من محتوى بتنسيق تخفيض السعر مع تصميم وصور وجداول قابلة للتخصيص. يدعم: **غامق**، *مائل*، # عناوين، - قوائم، جداول مع | بناء الجملة.',
      subtitle: 'الترجمة',
      logoImage: 'صورة الشعار',
      logoPosition: 'موقف الشعار',
      logoWidth: 'عرض الشعار',
      logoHeight: 'ارتفاع الشعار',
      fontFamily: 'عائلة الخطوط',
      fontSize: 'حجم الخط',
      titleFontSize: 'حجم خط العنوان',
      pageSize: 'حجم الصفحة',
      orientation: 'توجيه',
      marginTop: 'أعلى الهامش',
      marginBottom: 'الهامش السفلي',
      filename: 'اسم الملف',
      outputDirectory: 'دليل الإخراج',
      addPageNumbers: 'إضافة أرقام الصفحات',
      addTimestamp: 'إضافة الطابع الزمني',
      watermarkText: 'نص العلامة المائية',
      channel: 'قناة',
      channelTip: 'قم بإجراء بحث عن النص أو البحث عن الأخبار على مدخلات المكون',
      text: 'نص',
      news: 'أخبار',
      messageHistoryWindowSize: 'حجم نافذة الرسالة',
      messageHistoryWindowSizeTip:
        'حجم نافذة سجل المحادثة المرئي لـ LLM. الأكبر هو الأفضل، ولكن ضع في اعتبارك الحد الأقصى لعدد الرموز المميزة لـ LLM.',
      wikipedia: 'ويكيبيديا',
      pubMed: 'مجلات',
      pubMedDescription:
        'مكون يبحث من https://pubmed.ncbi.nlm.nih.gov/، مما يسمح لك بتحديد عدد نتائج البحث باستخدام TopN. وهو يكمل قواعد المعرفة الموجودة.',
      email: 'بريد إلكتروني',
      emailTip:
        'البريد الإلكتروني هو حقل مطلوب. يجب عليك إدخال عنوان البريد الإلكتروني هنا.',
      arXiv: 'أركايف',
      arXivDescription:
        'مكون يبحث من https://arxiv.org/، مما يسمح لك بتحديد عدد نتائج البحث باستخدام TopN. وهو يكمل قواعد المعرفة الموجودة.',
      sortBy: 'الترتيب حسب',
      submittedDate: 'تاريخ التقديم',
      lastUpdatedDate: 'تاريخ آخر تحديث',
      relevance: 'الصلة',
      google: 'جوجل',
      googleDescription:
        'مكون يبحث من https://www.google.com/، مما يسمح لك بتحديد عدد نتائج البحث باستخدام TopN. وهو يكمل قواعد المعرفة الموجودة. يرجى ملاحظة أن هذا يتطلب مفتاح API من serpapi.com.',
      bing: 'بنج',
      bingDescription:
        'مكون يقوم بالبحث من https://www.bing.com/، مما يسمح لك بتحديد عدد نتائج البحث باستخدام TopN. وهو يكمل قواعد المعرفة الموجودة. يرجى ملاحظة أن هذا يتطلب مفتاح API من microsoft.com.',
      apiKey: 'مفتاح واجهة برمجة التطبيقات',
      country: 'البلد والمنطقة',
      language: 'لغة',
      googleScholar: 'جوجل الباحث العلمي',
      googleScholarDescription:
        'مكون يبحث في https://scholar.google.com/. يمكنك استخدام Top N لتحديد عدد نتائج البحث.',
      yearLow: 'سنة منخفضة',
      yearHigh: 'ارتفاع السنة',
      patents: 'براءات الاختراع',
      data: 'بيانات',
      deepL: 'ديب إل',
      deepLDescription:
        'مكون يحصل على ترجمات أكثر تخصصًا من https://www.deepl.com/.',
      authKey: 'مفتاح المصادقة',
      sourceLang: 'لغة المصدر',
      targetLang: 'اللغة المستهدفة',
      gitHub: 'جيثب',
      gitHubDescription:
        'مكون يبحث عن المستودعات من https://github.com/. يمكنك استخدام Top N لتحديد عدد نتائج البحث.',
      baiduFanyi: 'بايدوفاني',
      baiduFanyiDescription:
        'مكون يحصل على ترجمات متخصصة من https://fanyi.baidu.com/.',
      appid: 'معرف التطبيق',
      secretKey: 'المفتاح السري',
      domain: 'اِختِصاص',
      transType: 'نوع الترجمة',
      baiduSecretKeyOptions: {
        translate: 'ترجمة عامة',
        fieldtranslate: 'الترجمة الميدانية',
      },
      baiduDomainOptions: {
        it: 'تكنولوجيا المعلومات',
        finance: 'المالية والاقتصادية',
        machinery: 'تصنيع الآلات',
        senimed: 'الطب الحيوي',
        novel: 'الأدب على الانترنت',
        academic: 'ورقة أكاديمية',
        aerospace: 'الفضاء الجوي',
        wiki: 'العلوم الإنسانية والاجتماعية',
        news: 'الأخبار والمعلومات',
        law: 'القوانين واللوائح',
        contract: 'عقد',
      },
      baiduSourceLangOptions: {
        auto: 'الكشف التلقائي',
        zh: 'الصينية',
        en: 'إنجليزي',
        yue: 'الكانتونية',
        wyw: 'الصينية الكلاسيكية',
        jp: 'اليابانية',
        kor: 'كوري',
        fra: 'فرنسي',
        spa: 'الأسبانية',
        th: 'التايلاندية',
        ara: 'عربي',
        ru: 'الروسية',
        pt: 'البرتغالية',
        de: 'الألمانية',
        it: 'ايطالي',
        el: 'اليونانية',
        nl: 'هولندي',
        pl: 'بولندي',
        bul: 'البلغارية',
        est: 'الإستونية',
        dan: 'دانماركي',
        fin: 'الفنلندية',
        cs: 'التشيكية',
        rom: 'روماني',
        slo: 'السلوفينية',
        swe: 'السويدية',
        hu: 'المجرية',
        cht: 'الصينية التقليدية',
        vie: 'الفيتنامية',
      },
      qWeather: 'QWeather',
      qWeatherDescription:
        'مكون يقوم باسترداد معلومات الطقس، مثل درجة الحرارة وجودة الهواء، من https://www.qweather.com/.',
      lang: 'لغة',
      type: 'يكتب',
      webApiKey: 'مفتاح واجهة برمجة تطبيقات الويب',
      userType: 'نوع المستخدم',
      timePeriod: 'الفترة الزمنية',
      qWeatherLangOptions: {
        zh: 'الصينية المبسطة',
        'zh-hant': 'الصينية التقليدية',
        en: 'إنجليزي',
        de: 'الألمانية',
        es: 'الأسبانية',
        fr: 'فرنسي',
        it: 'ايطالي',
        ja: 'اليابانية',
        ko: 'كوري',
        ru: 'الروسية',
        hi: 'الهندية',
        th: 'التايلاندية',
        ar: 'عربي',
        pt: 'البرتغالية',
        bn: 'البنغالية',
        ms: 'لغة الملايو',
        nl: 'هولندي',
        el: 'اليونانية',
        la: 'اللاتينية',
        sv: 'السويدية',
        id: 'الاندونيسية',
        pl: 'بولندي',
        tr: 'تركي',
        cs: 'التشيكية',
        et: 'الإستونية',
        vi: 'الفيتنامية',
        fil: 'فلبينية',
        fi: 'الفنلندية',
        he: 'العبرية',
        is: 'الأيسلندية',
        nb: 'النرويجية',
      },
      qWeatherTypeOptions: {
        weather: 'توقعات الطقس',
        indices: 'مؤشر الحياة الجوية',
        airquality: 'جودة الهواء',
      },
      qWeatherUserTypeOptions: {
        free: 'مشترك مجاني',
        paid: 'المشترك المدفوع',
      },
      qWeatherTimePeriodOptions: {
        now: 'الآن',
        '3d': '3 أيام',
        '7d': '7 أيام',
        '10d': '10 أيام',
        '15d': '12 يوما',
        '30d': '30 يوما',
      },
      publish: 'واجهة برمجة التطبيقات',
      exeSQL: 'تنفيذ SQL',
      exeSQLDescription:
        'مكون يقوم بتنفيذ استعلامات SQL على قاعدة بيانات علائقية، ويدعم الاستعلام من MySQL، أو PostgreSQL، أو MariaDB.',
      dbType: 'نوع قاعدة البيانات',
      database: 'قاعدة البيانات',
      username: 'اسم المستخدم',
      host: 'يستضيف',
      port: 'ميناء',
      password: 'كلمة المرور',
      switch: 'يُحوّل',
      logicalOperator: 'عامل منطقي',
      switchOperatorOptions: {
        equal: 'يساوي',
        notEqual: 'لا يساوي',
        gt: 'أعظم من',
        ge: 'أكبر على قدم المساواة',
        lt: 'أقل من',
        le: 'أقل مساواة',
        contains: 'يتضمن',
        notContains: 'لا يحتوي',
        startWith: 'يبدأ ب',
        endWith: 'ينتهي ب',
        empty: 'فارغ',
        notEmpty: 'ليست فارغة',
        in: 'في',
        notIn: 'ليس في',
        is: 'يكون',
        isNot: 'ليس كذلك',
      },
      switchLogicOperatorOptions: {
        and: 'و',
        or: 'أو',
      },
      operator: 'المشغل',
      value: 'قيمة',
      useTemplate: 'يستخدم',
      wenCai: 'وينكاي',
      queryType: 'نوع الاستعلام',
      wenCaiDescription:
        'مكون يحصل على المعلومات المالية، بما في ذلك أسعار الأسهم وأخبار التمويل، من مجموعة واسعة من المواقع المالية.',
      wenCaiQueryTypeOptions: {
        stock: 'مخزون',
        zhishu: 'فِهرِس',
        fund: 'تمويل',
        hkstock: 'أسهم هونج كونج',
        usstock: 'سوق الأوراق المالية الأمريكية',
        threeboard: 'سوق OTC الجديد',
        conbond: 'السندات القابلة للتحويل',
        insurance: 'تأمين',
        futures: 'العقود الآجلة',
        lccp: 'التمويل',
        foreign_exchange: 'العملة الأجنبية',
      },
      akShare: 'أكشير',
      akShareDescription:
        'مكون يحصل على أخبار الأسهم من https://www.eastmoney.com/.',
      yahooFinance: 'ياهوفاينانس',
      yahooFinanceDescription:
        'مكون يقوم بالاستعلام عن معلومات حول شركة يتم تداول أسهمها بشكل عام باستخدام رمز المؤشر الخاص بها.',
      crawler: 'زاحف الويب',
      crawlerDescription:
        'مكون يقوم بالزحف إلى كود مصدر HTML من عنوان URL محدد.',
      proxy: 'الوكيل',
      crawlerResultOptions: {
        html: 'أتش تي أم أل',
        markdown: 'تخفيض السعر',
        content: 'محتوى',
      },
      extractType: 'نوع الاستخراج',
      info: 'معلومات',
      history: 'تاريخ',
      financials: 'المالية',
      balanceSheet: 'الميزانية العمومية',
      cashFlowStatement: 'بيان التدفق النقدي',
      jin10: 'جين10',
      jin10Description:
        'مكون يقوم باسترداد المعلومات المالية من منصة Jin10 المفتوحة، بما في ذلك تحديثات الأخبار والتقويمات وعروض الأسعار والمراجع.',
      flashType: 'نوع الفلاش',
      filter: 'فلتر',
      contain: 'يحتوي',
      calendarType: 'نوع التقويم',
      calendarDatashape: 'شكل بيانات التقويم',
      symbolsDatatype: 'نوع بيانات الرموز',
      symbolsType: 'نوع الرموز',
      jin10TypeOptions: {
        flash: 'أخبار سريعة',
        calendar: 'تقويم',
        symbols: 'يقتبس',
        news: 'مرجع',
      },
      jin10FlashTypeOptions: {
        '1': 'أخبار السوق',
        '2': 'أخبار العقود الآجلة',
        '3': 'أخبار الولايات المتحدة وهونج كونج',
        '4': 'أ-مشاركة الأخبار',
        '5': 'أخبار السلع والفوركس',
      },
      jin10CalendarTypeOptions: {
        cj: 'تقويم بيانات الاقتصاد الكلي',
        qh: 'تقويم العقود الآجلة',
        hk: 'تقويم سوق الأوراق المالية في هونج كونج',
        us: 'تقويم سوق الأسهم الأمريكية',
      },
      jin10CalendarDatashapeOptions: {
        data: 'بيانات',
        event: 'حدث',
        holiday: 'عطلة',
      },
      jin10SymbolsTypeOptions: {
        GOODS: 'اقتباسات السلع',
        FOREX: 'اقتباسات الفوركس',
        FUTURE: 'أسعار السوق الدولية',
        CRYPTO: 'اقتباسات العملة المشفرة',
      },
      jin10SymbolsDatatypeOptions: {
        symbols: 'قائمة السلع',
        quotes: 'أحدث أسعار السوق',
      },
      concentrator: 'المكثف',
      concentratorDescription:
        'مكون يتلقى الإخراج من المكون الرئيسي ويمرره كمدخل إلى المكونات النهائية.',
      tuShare: 'توشير',
      tuShareDescription:
        'مكون يحصل على ملخصات الأخبار المالية من المواقع المالية الرئيسية، ويساعد الصناعة والبحث الكمي.',
      tuShareSrcOptions: {
        sina: 'سينا',
        wallstreetcn: 'wallstreetcn',
        '10jqka': 'تدفق مستقيم',
        eastmoney: 'إيستموني',
        yuncaijing: 'يونكايجينغ',
        fenghuang: 'فنغهوانغ',
        jinrongjie: 'جي آر جيه',
      },
      token: 'رمز مميز',
      src: 'مصدر',
      startDate: 'تاريخ البدء',
      endDate: 'تاريخ الانتهاء',
      keyword: 'الكلمة الرئيسية',
      note: 'ملحوظة',
      noteDescription: 'ملحوظة',
      notePlaceholder: 'الرجاء إدخال ملاحظة',
      invoke: 'طلب HTTP',
      invokeDescription:
        'مكون قادر على استدعاء الخدمات عن بعد، باستخدام مخرجات أو ثوابت المكونات الأخرى كمدخلات.',
      url: 'عنوان URL',
      method: 'طريقة',
      timeout: 'نفذ الوقت',
      headers: 'الرؤوس',
      cleanHtml: 'HTML نظيف',
      cleanHtmlTip:
        'إذا كان الرد بتنسيق HTML وكان المحتوى الأساسي مطلوبًا فقط، فيرجى تشغيله.',
      invalidUrl:
        'يجب أن يكون عنوان URL صالحًا أو عنوان URL يحتوي على عناصر نائبة متغيرة بالتنسيق {variable_name} أو {component@variable}',
      reference: 'مرجع',
      input: 'مدخل',
      output: 'الإخراج',
      parameter: 'المعلمة',
      howUseId: 'كيفية استخدام معرف الوكيل؟',
      content: 'محتوى',
      operationResults: 'نتائج العملية',
      autosaved: 'تم الحفظ تلقائيًا',
      optional: 'خياري',
      pasteFileLink: 'الصق رابط الملف',
      testRun: 'تشغيل تجريبي',
      template: 'نموذج',
      templateDescription:
        'مكون يقوم بتنسيق مخرجات المكونات الأخرى.1. يدعم قوالب Jinja2، سيقوم أولاً بتحويل الإدخال إلى كائن ثم عرض القالب، 2. يحتفظ في نفس الوقت بالطريقة الأصلية لاستخدام استبدال السلسلة {parameter}',
      emailComponent: 'بريد إلكتروني',
      emailDescription: 'إرسال بريد إلكتروني إلى عنوان محدد.',
      smtpServer: 'مضيف SMTP',
      smtpPort: 'منفذ SMTP',
      senderEmail: 'من عنوان البريد الإلكتروني',
      smtpUsername: 'اسم مستخدم تسجيل الدخول SMTP',
      authCode: 'كلمة مرور SMTP / كلمة مرور التطبيق',
      senderName: 'من اسم العرض',
      toEmail: 'البريد الإلكتروني للمستلم',
      ccEmail: 'البريد الإلكتروني CC',
      emailSubject: 'موضوع',
      emailContent: 'محتوى',
      smtpServerRequired: 'الرجاء إدخال عنوان خادم SMTP',
      senderEmailRequired: 'الرجاء إدخال البريد الإلكتروني للمرسل',
      authCodeRequired: 'الرجاء إدخال رمز التفويض',
      toEmailRequired: 'الرجاء إدخال البريد الإلكتروني للمستلم',
      emailContentRequired: 'الرجاء إدخال محتوى البريد الإلكتروني',
      emailSentSuccess: 'تم إرسال البريد الإلكتروني بنجاح',
      emailSentFailed: 'فشل في إرسال البريد الإلكتروني',
      dynamicParameters: 'المعلمات الديناميكية',
      jsonFormatTip: 'يجب أن يوفر المكون الرئيسي سلسلة JSON بالتنسيق التالي:',
      toEmailTip: 'to_email: البريد الإلكتروني للمستلم (مطلوب)',
      ccEmailTip: 'cc_email: البريد الإلكتروني CC (اختياري)',
      subjectTip: 'الموضوع: موضوع البريد الإلكتروني (اختياري)',
      contentTip: 'المحتوى: محتوى البريد الإلكتروني (اختياري)',
      jsonUploadTypeErrorMessage: 'يرجى تحميل ملف json',
      jsonUploadContentErrorMessage: 'خطأ في ملف json',
      iteration: 'التكرار',
      iterationDescription:
        'مكون متكرر يتكرر عبر مصفوفة إدخال وينفذ منطقًا محددًا لكل عنصر.',
      delimiterTip:
        'يتم استخدام هذا المحدد لتقسيم نص الإدخال إلى عدة أجزاء نصية سيتم تنفيذ صدى لها كعنصر إدخال لكل تكرار.',
      delimiterOptions: {
        comma: 'فاصلة',
        lineBreak: 'فاصل سطر',
        tab: 'فاتورة غير مدفوعة',
        underline: 'تسطير',
        diagonal: 'شرطة مائلة للأمام',
        minus: 'اندفاعة',
        semicolon: 'فاصلة منقوطة',
      },
      addVariable: 'إضافة متغير',
      variableSettings: 'إعدادات متغيرة',
      systemPrompt: 'موجه النظام',
      userPrompt: 'موجه المستخدم',
      tocDataSource: 'مصدر البيانات',
      addCategory: 'أضف فئة',
      categoryName: 'اسم الفئة',
      nextStep: 'الخطوة التالية',
      variableExtractDescription:
        'استخراج معلومات المستخدم إلى متغير عام طوال المحادثة',
      variableExtract: 'المتغيرات',
      variables: 'المتغيرات',
      variablesTip:
        'قم بتعيين متغير مفتاح json الواضح بقيمة فارغة. على سبيل المثال\n      {\n        "رمز المستخدم":":"،\n        "رقم الهاتف:""\n      }',
      datatype: 'نوع الألغام لطلب HTTP',
      insertVariableTip: 'أدخل / أدخل المتغيرات',
      historyVersion: 'تاريخ الإصدار',
      version: {
        created: 'مخلوق',
        details: 'تفاصيل الإصدار',
        dsl: 'دي اس ال',
        download: 'تحميل',
        version: 'إصدار',
        select: 'لم يتم تحديد أي إصدار',
      },
      setting: 'إعدادات',
      settings: {
        agentSetting: 'إعدادات الوكيل',
        title: 'عنوان',
        description: 'وصف',
        upload: 'رفع',
        photo: 'صورة',
        permissions: 'الأذونات',
        permissionsTip: 'يمكنك تعيين أذونات أعضاء الفريق هنا.',
        me: 'أنا',
        team: 'فريق',
      },
      noMoreData: 'لا مزيد من البيانات',
      searchAgentPlaceholder: 'وكيل البحث',
      footer: {
        profile: 'جميع الحقوق محفوظة @ رد فعل',
      },
      layout: {
        file: 'ملف',
        knowledge: 'معرفة',
        chat: 'محادثة',
      },
      prompt: 'اِسْتَدْعَى',
      promptTip:
        'استخدم موجه النظام لوصف مهمة LLM، وتحديد كيفية الاستجابة لها، وتحديد المتطلبات المتنوعة الأخرى. غالبًا ما يتم استخدام موجه النظام جنبًا إلى جنب مع المفاتيح (المتغيرات)، والتي تعمل كمدخلات بيانات متنوعة لـ LLM. استخدم شرطة مائلة للأمام `/` أو الزر (x) لإظهار المفاتيح المطلوب استخدامها.',
      promptMessage: 'مطلوب موجه',
      infor: 'تشغيل المعلومات',
      knowledgeBasesTip:
        'حدد قواعد المعرفة لربطها بمساعد الدردشة هذا، أو اختر المتغيرات التي تحتوي على معرفات قاعدة المعرفة أدناه.',
      knowledgeBaseVars: 'متغيرات قاعدة المعرفة',
      code: 'شفرة',
      codeDescription: 'يسمح للمطورين بكتابة منطق بايثون مخصص.',
      dataOperations: 'عمليات البيانات',
      dataOperationsDescription: 'تنفيذ عمليات مختلفة على كائن البيانات.',
      listOperations: 'عمليات القائمة',
      listOperationsDescription: 'تنفيذ العمليات على القائمة.',
      variableAssigner: 'المسند المتغير',
      variableAssignerDescription:
        'ينفذ هذا المكون العمليات على كائنات البيانات، بما في ذلك استخراج المفاتيح والقيم وتصفيتها وتحريرها في البيانات.',
      variableAggregator: 'مجمع متغير',
      variableAggregatorDescription:
        'تقوم هذه العملية بتجميع المتغيرات من فروع متعددة في متغير واحد لتحقيق التكوين الموحد للعقد النهائية.',
      inputVariables: 'متغيرات الإدخال',
      runningHintText: 'قيد التشغيل...🕞',
      openingSwitch: 'مفتاح الفتح',
      openingCopy: 'تحية افتتاحية',
      openingSwitchTip: 'سيرى المستخدمون رسالة الترحيب هذه في البداية.',
      modeTip: 'يحدد الوضع كيفية بدء سير العمل.',
      mode: 'وضع',
      conversational: 'محادثة',
      task: 'مهمة',
      beginInputTip:
        'يمكن الوصول إلى معلمات الإدخال المحددة هنا من خلال المكونات الموجودة في سير العمل النهائي.',
      query: 'متغيرات الاستعلام',
      switchPromptMessage:
        'سوف تتغير الكلمات السريعة. يرجى تأكيد ما إذا كنت تريد تجاهل كلمات المطالبة الموجودة؟',
      queryRequired: 'الاستعلام مطلوب',
      queryTip: 'حدد المتغير الذي تريد استخدامه',
      agent: 'عامل',
      addAgent: 'إضافة وكيل',
      agentDescription:
        'يبني مكونات الوكيل المجهزة بالاستدلال واستخدام الأدوات والتعاون متعدد الوكلاء.',
      maxRecords: 'سجلات ماكس',
      createAgent: 'تدفق الوكيل',
      stringTransform: 'معالجة النص',
      userFillUp: 'انتظر الرد',
      userFillUpDescription:
        'يوقف سير العمل مؤقتًا وينتظر رسالة المستخدم قبل المتابعة.',
      codeExec: 'شفرة',
      tavilySearch: 'بحث تافيلي',
      tavilySearchDescription: 'نتائج البحث عبر خدمة Tavily.',
      tavilyExtract: 'استخراج تافيلي',
      tavilyExtractDescription: 'استخراج تافيلي',
      log: 'سجل',
      management: 'إدارة',
      import: 'يستورد',
      export: 'يصدّر',
      seconds: 'ثواني',
      subject: 'موضوع',
      tag: 'علامة',
      tagPlaceholder: 'الرجاء إدخال العلامة',
      descriptionPlaceholder: 'الرجاء إدخال الوصف',
      line: 'نص من سطر واحد',
      paragraph: 'نص الفقرة',
      options: 'خيارات المنسدلة',
      file: 'تحميل الملف',
      integer: 'رقم',
      boolean: 'منطقية',
      logTimeline: {
        begin: 'جاهز للبدء',
        agent: 'الوكيل يفكر',
        userFillUp: 'في انتظاركم',
        retrieval: 'البحث عن المعرفة',
        message: 'يقول الوكيل',
        awaitResponse: 'في انتظاركم',
        switch: 'اختيار المسار الأفضل',
        iteration: 'معالجة الدفعات',
        categorize: 'معلومات التصنيف',
        code: 'تشغيل برنامج نصي سريع',
        textProcessing: 'ترتيب النص',
        tavilySearch: 'البحث في الويب',
        tavilyExtract: 'قراءة الصفحة',
        exeSQL: 'الاستعلام عن قاعدة البيانات',
        google: 'البحث في الويب',
        wikipedia: 'البحث في ويكيبيديا',
        googleScholar: 'البحث الأكاديمي',
        gitHub: 'البحث على جيثب',
        email: 'إرسال البريد الإلكتروني',
        httpRequest: 'استدعاء API',
        wenCai: 'الاستعلام عن البيانات المالية',
      },
      goto: 'فرع فاشل',
      comment: 'القيمة الافتراضية',
      sqlStatement: 'بيان SQL',
      sqlStatementTip:
        'اكتب استعلام SQL الخاص بك هنا. يمكنك استخدام المتغيرات أو SQL الخام أو مزجهما باستخدام بناء الجملة المتغير.',
      frameworkPrompts: 'نطاق',
      release: 'نشر',
      createFromBlank: 'إنشاء من الفراغ',
      createFromTemplate: 'إنشاء من القالب',
      importJsonFile: 'استيراد ملف JSON',
      ceateAgent: 'تدفق الوكيل',
      createPipeline: 'خط أنابيب الابتلاع',
      chooseAgentType: 'اختر نوع الوكيل',
      parser: 'محلل',
      parserDescription:
        'يستخرج النص الخام والبنية من الملفات للمعالجة النهائية.',
      tokenizer: 'مفهرس',
      tokenizerRequired: 'الرجاء إضافة عقدة المفهرس أولاً',
      tokenizerDescription:
        'يحول النص إلى بنية البيانات المطلوبة (على سبيل المثال، التضمينات المتجهة لبحث التضمين) اعتمادًا على طريقة البحث المختارة.',
      tokenChunkerDescription:
        'قم بتقسيم النص إلى أجزاء حسب طول الرمز المميز باستخدام محددات وتداخلات اختيارية.',
      titleChunkerDescription:
        'قم بتقسيم المستندات إلى أقسام حسب التسلسل الهرمي للعناوين باستخدام قواعد regex للتحكم بشكل أفضل.',
      extractor: 'محول',
      extractorDescription:
        'استخدم LLM لاستخراج الرؤى المنظمة من أجزاء المستند، مثل الملخصات والتصنيفات وما إلى ذلك.',
      outputFormat: 'تنسيق الإخراج',
      fileFormats: 'نوع الملف',
      fileFormatOptions: {
        pdf: 'قوات الدفاع الشعبي',
        spreadsheet: 'جدول البيانات',
        image: 'صورة',
        email: 'بريد إلكتروني',
        'text&markdown': 'النص والترميز',
        code: 'Code',
        html: 'HTML',
        word: 'كلمة',
        slides: 'PPTX',
        audio: 'صوتي',
        video: 'فيديو',
      },
      fields: 'مجال',
      addParser: 'إضافة محلل',
      hierarchy: 'تَسَلسُل',
      regularExpressions: 'التعبيرات العادية',
      overlappedPercent: 'النسبة المئوية المتداخلة (%)',
      searchMethod: 'طريقة البحث',
      searchMethodTip:
        'يحدد كيفية البحث في المحتوى — من خلال النص الكامل، أو التضمين، أو كليهما.\nسيقوم المفهرس بتخزين المحتوى في هياكل البيانات المقابلة للطرق المحددة.',
      parserMethod: 'محلل قوات الدفاع الشعبي',
      tableResultType: 'نوع نتيجة الجدول',
      markdownImageResponseType: 'نوع استجابة الصورة Markdown',
      systemPromptPlaceholder:
        'أدخل موجه النظام لتحليل الصور، إذا كان فارغًا، فسيتم استخدام القيمة الافتراضية للنظام',
      exportJson: 'تصدير JSON',
      viewResult: 'عرض النتيجة',
      running: 'جري',
      summary: 'ملخص',
      keywords: 'الكلمات الرئيسية',
      questions: 'أسئلة',
      metadata: 'البيانات الوصفية',
      toc: 'فهرس الصفحة',
      fieldName: 'وجهة النتيجة',
      prompts: {
        system: {
          keywords:
            'الدور\nأنت محلل النص.\n\nالمهمة\nقم باستخراج الكلمات الرئيسية/العبارات الأكثر أهمية في جزء معين من محتوى النص.\n\nالمتطلبات\n- تلخيص محتوى النص، وإعطاء أهم 5 كلمات رئيسية / عبارات مهمة.\n- يجب أن تكون الكلمات الرئيسية بنفس لغة محتوى النص المحدد.\n- يتم الفصل بين الكلمات الرئيسية بفاصلة باللغة الإنجليزية.\n- الكلمات الرئيسية الإخراج فقط.',
          questions:
            'الدور\nأنت محلل النص.\n\nالمهمة\nاقترح 3 أسئلة حول جزء معين من محتوى النص.\n\nالمتطلبات\n- فهم وتلخيص محتوى النص، واقتراح أهم 3 أسئلة مهمة.\n- يجب ألا تكون للأسئلة معاني متداخلة.\n- يجب أن تغطي الأسئلة المحتوى الرئيسي للنص قدر الإمكان.\n- يجب أن تكون الأسئلة بنفس لغة محتوى النص المحدد.\n- سؤال واحد في كل سطر.\n- أسئلة الإخراج فقط.',
          summary:
            'بمثابة ملخص دقيق. مهمتك هي إنشاء ملخص للمحتوى المقدم يكون موجزًا ​​ومطابقًا للأصل.\n\nالتعليمات الرئيسية:\n1. الدقة: اعتمد الملخص بدقة على المعلومات المقدمة. لا تقدم أي حقائق أو استنتاجات أو تفسيرات جديدة لم يتم ذكرها صراحة.\n2. اللغة: اكتب الملخص بنفس لغة النص المصدر.\n3. الموضوعية: اعرض النقاط الرئيسية دون تحيز، مع الحفاظ على القصد الأصلي ونبرة المحتوى. لا تكتب افتتاحيات.\n4. الإيجاز: التركيز على أهم الأفكار، مع حذف التفاصيل الصغيرة والزغب.',
          metadata:
            'استخراج المعلومات المنظمة الهامة من المحتوى المحدد. قم بإخراج سلسلة JSON صالحة فقط بدون نص إضافي. إذا لم يتم العثور على معلومات منظمة مهمة، فأخرج كائن JSON فارغًا: {}.\n\nقد تتضمن المعلومات المنظمة الهامة ما يلي: الأسماء أو التواريخ أو المواقع أو الأحداث أو الحقائق الأساسية أو البيانات الرقمية أو غيرها من الكيانات القابلة للاستخراج.',
          toc: '',
        },
        user: {
          keywords: 'محتوى النص\n[أدخل النص هنا]',
          questions: 'محتوى النص\n[أدخل النص هنا]',
          summary: 'نص للتلخيص:\n[أدخل النص هنا]',
          metadata: 'المحتوى: [أدخل المحتوى هنا]',
          toc: '[أدخل النص هنا]',
        },
      },
      cancel: 'يلغي',
      swicthPromptMessage:
        'سوف تتغير الكلمة السريعة. يرجى تأكيد ما إذا كان سيتم التخلي عن كلمة المطالبة الحالية؟',
      tokenizerSearchMethodOptions: {
        full_text: 'النص الكامل',
        embedding: 'التضمين',
      },
      filenameEmbeddingWeight: 'اسم الملف الذي يتضمن الوزن',
      tokenizerFieldsOptions: {
        text: 'النص المعالج',
        keywords: 'الكلمات الرئيسية',
        questions: 'أسئلة',
        summary: 'السياق المعزز',
      },
      imageParseMethodOptions: {
        ocr: 'التعرف الضوئي على الحروف',
      },
      structuredOutput: {
        configuration: 'إعدادات',
        structuredOutput: 'إخراج منظم',
      },
      operations: 'العمليات',
      operationsOptions: {
        selectKeys: 'حدد المفاتيح',
        literalEval: 'التقييم الحرفي',
        combine: 'يجمع',
        filterValues: 'قيم التصفية',
        appendOrUpdate: 'إلحاق أو تحديث',
        removeKeys: 'إزالة المفاتيح',
        renameKeys: 'إعادة تسمية المفاتيح',
      },
      ListOperationsOptions: {
        topN: 'أعلى ن',
        head: 'رأس',
        tail: 'ذيل',
        sort: 'نوع',
        filter: 'فلتر',
        dropDuplicates: 'إسقاط التكرارات',
      },
      sortMethod: 'طريقة الفرز',
      SortMethodOptions: {
        asc: 'تصاعدي',
        desc: 'تنازلي',
      },
      variableAssignerLogicalOperatorOptions: {
        overwrite: 'الكتابة فوقها',
        clear: 'واضح',
        set: 'تعيين',
        add: 'يضيف',
        subtract: 'طرح',
        multiply: 'ضاعف',
        divide: 'قسمة',
        append: 'إلحاق',
        extend: 'يمتد',
        removeFirst: 'إزالة أولا',
        removeLast: 'إزالة الأخير',
      },
      webhook: {
        name: 'خطاف ويب',
        methods: 'طُرق',
        contentTypes: 'أنواع المحتوى',
        security: 'حماية',
        schema: 'مخطط',
        response: 'إجابة',
        executionMode: 'وضع التنفيذ',
        executionModeTip:
          'الاستجابة المقبولة: يقوم النظام بإرجاع الإقرار فورًا بعد التحقق من صحة الطلب، بينما يستمر سير العمل في التنفيذ بشكل غير متزامن في الخلفية. / الاستجابة النهائية: يقوم النظام بإرجاع الاستجابة فقط بعد اكتمال تنفيذ سير العمل.',
        authMethods: 'طرق المصادقة',
        authType: 'نوع المصادقة',
        limit: 'طلب الحد من التردد',
        per: 'الفترة الزمنية',
        maxBodySize: 'الحد الأقصى لحجم الجسم',
        ipWhitelist: 'القائمة البيضاء للملكية الفكرية',
        tokenHeader: 'رأس الرمز المميز',
        tokenValue: 'قيمة الرمز المميز',
        username: 'اسم المستخدم',
        password: 'كلمة المرور',
        algorithm: 'خوارزمية',
        secret: 'سر',
        issuer: 'المصدر',
        audience: 'جمهور',
        requiredClaims: 'المطالبات المطلوبة',
        header: 'رأس',
        status: 'حالة',
        headersTemplate: 'قالب الرؤوس',
        bodyTemplate: 'قالب الجسم',
        basic: 'أساسي',
        bearer: 'حامل',
        apiKey: 'مفتاح واجهة برمجة التطبيقات',
        queryParameters: 'معلمات الاستعلام',
        headerParameters: 'معلمات الرأس',
        requestBodyParameters: 'طلب معلمات الجسم',
        immediately: 'استجابة مقبولة',
        streaming: 'الرد النهائي',
        overview: 'ملخص',
        logs: 'سجلات',
        agentStatus: 'حالة الوكيل:',
      },
      saveToMemory: 'حفظ في الذاكرة',
      retrievalFrom: 'الاسترجاع من',
    },
    llmTools: {
      bad_calculator: {
        name: 'آلة حاسبة',
        description: 'أداة لحساب مجموع رقمين (سوف تعطي إجابة خاطئة)',
        params: {
          a: 'الرقم الأول',
          b: 'الرقم الثاني',
        },
      },
    },
    modal: {
      okText: 'يتأكد',
      cancelText: 'يلغي',
    },
    mcp: {
      export: 'يصدّر',
      import: 'يستورد',
      url: 'عنوان URL',
      serverType: 'نوع الخادم',
      addMCP: 'أضف MCP',
      editMCP: 'تحرير MCP',
      toolsAvailable: 'الأدوات المتاحة',
      mcpServers: 'خوادم MCP',
      mcpServer: 'خادم MCP',
      customizeTheListOfMcpServers: 'تخصيص قائمة خوادم MCP',
      cachedTools: 'الأدوات المخزنة مؤقتًا',
      bulkManage: 'إدارة بالجملة',
      exitBulkManage: 'الخروج من الإدارة المجمعة',
      selected: 'مختارة',
    },
    search: {
      searchApps: 'تطبيقات البحث',
      createSearch: 'إنشاء بحث',
      searchGreeting: 'كيف يمكنني مساعدتك اليوم？',
      profile: 'إخفاء الملف الشخصي',
      locale: 'لغة',
      embedCode: 'تضمين التعليمات البرمجية',
      id: 'بطاقة تعريف',
      copySuccess: 'نسخ النجاح',
      welcomeBack: 'مرحبًا بعودتك',
      searchSettings: 'إعدادات البحث',
      name: 'اسم',
      avatar: 'الصورة الرمزية',
      description: 'وصف',
      datasets: 'مجموعات البيانات',
      rerankModel: 'إعادة ترتيب النموذج',
      AISummary: 'ملخص الذكاء الاصطناعي',
      enableWebSearch: 'تمكين البحث على شبكة الإنترنت',
      enableRelatedSearch: 'تمكين البحث ذات الصلة',
      showQueryMindmap: 'إظهار الخريطة الذهنية للاستعلام',
      embedApp: 'تضمين التطبيق',
      relatedSearch: 'البحث ذات الصلة',
      descriptionValue: 'أنت مساعد ذكي.',
      okText: 'يحفظ',
      cancelText: 'يلغي',
      chooseDataset: 'الرجاء تحديد مجموعة البيانات أولا',
    },
    language: {
      english: 'الإنجليزية',
      chinese: 'الصينية',
      spanish: 'الإسبانية',
      french: 'الفرنسية',
      german: 'الألمانية',
      japanese: 'اليابانية',
      korean: 'الكورية',
      vietnamese: 'الفيتنامية',
      russian: 'الروسية',
      bulgarian: 'البلغارية',
      arabic: 'العربية',
      turkish: 'التركية',
    },
    pagination: {
      total: 'الإجمالي {{total}}',
      page: '{{page}} / الصفحة',
    },
    dataflowParser: {
      result: 'نتيجة',
      parseSummary: 'ملخص التحليل',
      parseSummaryTip: 'المحلل اللغوي: DeepDoc',
      parserMethod: 'طريقة المحلل اللغوي',
      outputFormat: 'تنسيق الإخراج',
      rerunFromCurrentStep: 'أعد التشغيل من الخطوة الحالية',
      rerunFromCurrentStepTip: 'تم اكتشاف التغييرات. انقر لإعادة التشغيل.',
      confirmRerun: 'تأكيد عملية إعادة التشغيل',
      confirmRerunModalContent:
        '<p class="text-sm text-text-disabled font-medium mb-2">\n        أنت على وشك إعادة تشغيل العملية بدءًا من خطوة <span class="text-text-secondary">{{step}}</span>.\n      </p>\n      <p class="text-sm mb-3 text-text-disabled">هذا سوف:</p><br />\n      <ul class="list-disc list-inside space-y-1 text-sm text-text-secondary">\n        <li>• قم باستبدال النتائج الموجودة من الخطوة الحالية فصاعدًا</li>\n        <li>• قم بإنشاء إدخال سجل جديد للتتبع</li>\n        <li>• ستبقى الخطوات السابقة دون تغيير</li>\n      </ul>',
      changeStepModalTitle: 'تحذير من مفتاح الخطوة',
      changeStepModalContent:
        '<p>أنت تقوم حاليًا بتحرير نتائج هذه المرحلة.</p>\n      <p>إذا قمت بالتبديل إلى مرحلة لاحقة، فسيتم فقدان التغييرات. </p>\n      <p> للاحتفاظ بها، يرجى النقر فوق "إعادة تشغيل" لإعادة تشغيل المرحلة الحالية.</p>',
      changeStepModalConfirmText: 'التبديل على أي حال',
      changeStepModalCancelText: 'يلغي',
      unlinkPipelineModalTitle: 'إلغاء ربط قناة العرض',
      unlinkPipelineModalConfirmText: 'إلغاء الارتباط',
      unlinkPipelineModalContent:
        '<p>بمجرد إلغاء الارتباط، لن تكون مجموعة البيانات هذه متصلة بمسار الاستيعاب الحالي.</p>\n      <p> ستستمر الملفات التي تم تحليلها بالفعل حتى اكتمالها</p>\n      <p> لن تتم معالجة الملفات التي لم يتم تحليلها بعد</p> <br/>\n      <p>هل أنت متأكد من رغبتك في المتابعة؟</p>',
      unlinkSourceModalTitle: 'إلغاء ربط مصدر البيانات',
      unlinkSourceModalContent:
        '<p>هل أنت متأكد من إلغاء ربط مصدر البيانات هذا ？</p>',
      unlinkSourceModalConfirmText: 'إلغاء الارتباط',
    },
    datasetOverview: {
      downloadTip: 'الملفات التي يتم تنزيلها من مصادر البيانات.',
      processingTip: 'الملفات التي تتم معالجتها عن طريق مسار الاستيعاب.',
      totalFiles: 'إجمالي الملفات',
      downloading: 'جارٍ التنزيل',
      downloadSuccessTip: 'إجمالي التنزيلات الناجحة',
      downloadFailedTip: 'إجمالي التنزيلات الفاشلة',
      processingSuccessTip: 'إجمالي الملفات التي تمت معالجتها بنجاح',
      processingFailedTip: 'إجمالي العمليات الفاشلة',
      processing: 'يعالج',
      noData: 'لا يوجد سجل حتى الآن',
    },
    deleteModal: {
      delAgent: 'حذف الوكيل',
      delDataset: 'حذف مجموعة البيانات',
      delSearch: 'حذف البحث',
      delFile: 'حذف الملف',
      delFiles: 'حذف الملفات',
      delFilesContent: 'الملفات المحددة ({{count}})',
      delChat: 'حذف الدردشة',
      delMember: 'حذف العضو',
      delMemory: 'حذف الذاكرة',
    },
    empty: {
      noMCP: 'لا تتوفر خوادم MCP',
      agentTitle: 'لم يتم إنشاء تطبيق وكيل حتى الآن',
      notFoundAgent: 'لم يتم العثور على تطبيق الوكيل',
      datasetTitle: 'لم يتم إنشاء مجموعة بيانات حتى الآن',
      notFoundDataset: 'لم يتم العثور على مجموعة البيانات',
      chatTitle: 'لم يتم إنشاء تطبيق دردشة بعد',
      notFoundChat: 'لم يتم العثور على تطبيق الدردشة',
      searchTitle: 'لم يتم إنشاء تطبيق بحث حتى الآن',
      notFoundSearch: 'لم يتم العثور على تطبيق البحث',
      memoryTitle: 'لم يتم إنشاء ذاكرة بعد',
      notFoundMemory: 'لم يتم العثور على الذاكرة',
      addNow: 'أضف الآن',
    },
    admin: {
      loginTitle: 'وحدة تحكم المشرف',
      title: 'راج فلو',
      confirm: 'يتأكد',
      close: 'يغلق',
      yes: 'نعم',
      no: 'لا',
      delete: 'يمسح',
      cancel: 'يلغي',
      reset: 'إعادة ضبط',
      import: 'يستورد',
      description: 'وصف',
      noDescription: 'لا يوجد وصف',
      resourceType: {
        dataset: 'مجموعة البيانات',
        chat: 'محادثة',
        agent: 'عامل',
        search: 'يبحث',
        file: 'ملف',
        team: 'فريق',
        memory: 'ذاكرة',
      },
      permissionType: {
        enable: 'يُمكَِن',
        read: 'يقرأ',
        write: 'يكتب',
        share: 'يشارك',
      },
      serviceStatus: 'حالة الخدمة',
      userManagement: 'إدارة المستخدم',
      sandboxSettings: 'إعدادات وضع الحماية',
      registrationWhitelist: 'القائمة البيضاء للتسجيل',
      roles: 'الأدوار',
      monitoring: 'يراقب',
      sandboxSettingsPage: {
        description:
          'قم بتكوين موفر وضع الحماية لتنفيذ التعليمات البرمجية. يتم استخدام صندوق الحماية بواسطة مكون التعليمات البرمجية في الوكلاء.',
        providerSelection: 'اختيار المزود',
        providerSelectionDescription:
          'اختر موفر وضع الحماية لتنفيذ التعليمات البرمجية',
        namedProviderConfiguration: 'تكوين {{name}}',
        namedProviderConfigurationDescription:
          'قم بتكوين إعدادات الاتصال لـ {{name}}.',
        saveConfiguration: 'حفظ التكوين',
        saving: 'توفير...',
        testConnectionResultModal: {
          title: 'نتيجة اختبار الاتصال',
          testing: 'جارٍ اختبار الاتصال بموفر وضع الحماية...',
          success: 'تم الاتصال بنجاح بموفر وضع الحماية',
          failed: 'فشل الاتصال بموفر وضع الحماية',
          exitCode: 'رمز الخروج',
          executionTime: 'وقت التنفيذ',
          stdout: 'الإخراج القياسي',
          stderr: 'خطأ في الإخراج/تتبع المكدس',
        },
        testConnection: 'اتصال الاختبار',
        testing: 'اختبار...',
      },
      selectFile: 'حدد الملف',
      noFileSelected: 'لم يتم تحديد أي ملف',
      back: 'خلف',
      active: 'نشيط',
      inactive: 'غير نشط',
      enable: 'يُمكَِن',
      disable: 'إبطال',
      all: 'الجميع',
      actions: 'الإجراءات',
      newUser: 'مستخدم جديد',
      email: 'بريد إلكتروني',
      name: 'اسم',
      nickname: 'كنية',
      status: 'حالة',
      id: 'بطاقة تعريف',
      serviceType: 'نوع الخدمة',
      host: 'يستضيف',
      port: 'ميناء',
      role: 'دور',
      user: 'مستخدم',
      userType: 'نوع المستخدم',
      superuser: 'المستخدم المتميز',
      normalUser: 'طبيعي',
      createTime: 'خلق الوقت',
      lastLoginTime: 'آخر وقت لتسجيل الدخول',
      lastUpdateTime: 'وقت التحديث الأخير',
      isAnonymous: 'مجهول',
      isSuperuser: 'هو المستخدم الخارق',
      deleteUser: 'حذف المستخدم',
      deleteUserConfirmation: 'هل أنت متأكد أنك تريد حذف هذا المستخدم؟',
      createNewUser: 'إنشاء مستخدم جديد',
      changePassword: 'تغيير كلمة المرور',
      newPassword: 'كلمة المرور الجديدة',
      confirmNewPassword: 'تأكيد كلمة المرور الجديدة',
      password: 'كلمة المرور',
      confirmPassword: 'تأكيد كلمة المرور',
      invalidEmail: 'الرجاء إدخال عنوان بريد إلكتروني صالح!',
      passwordRequired: 'الرجاء إدخال كلمة المرور الخاصة بك!',
      passwordMinLength: 'كلمة المرور يجب أن تكون أكثر من 8 أحرف.',
      confirmPasswordRequired: 'يرجى تأكيد كلمة المرور الخاصة بك!',
      confirmPasswordDoNotMatch: 'كلمة المرور التي أدخلتها غير متطابقة!',
      read: 'يقرأ',
      write: 'يكتب',
      share: 'يشارك',
      create: 'يخلق',
      extraInfo: 'معلومات اضافية',
      serviceDetail: 'تفاصيل الخدمة {{name}}',
      taskExecutorDetail: 'تفاصيل منفذ المهمة',
      whitelistManagement: 'إدارة القائمة البيضاء',
      exportAsExcel: 'تصدير اكسل',
      importFromExcel: 'استيراد اكسل',
      createEmail: 'إنشاء البريد الإلكتروني',
      deleteEmail: 'حذف البريد الإلكتروني',
      editEmail: 'تحرير البريد الإلكتروني',
      deleteWhitelistEmailConfirmation:
        'هل أنت متأكد أنك تريد حذف هذا البريد الإلكتروني من القائمة البيضاء؟ لا يمكن التراجع عن هذا الإجراء.',
      importWhitelist: 'استيراد القائمة البيضاء (اكسل)',
      importSelectExcelFile: 'ملف اكسل (.xlsx)',
      importOverwriteExistingEmails:
        'الكتابة فوق رسائل البريد الإلكتروني الموجودة',
      importInvalidExcelFile: 'الرجاء تحديد ملف Excel صالح',
      importFileRequired: 'الرجاء تحديد ملف لاستيراده',
      importFileTips:
        'يجب أن يحتوي الملف على عمود رأس واحد يسمى <code>email</code>.',
      chunkNum: 'قطع',
      docNum: 'وثائق',
      tokenNum: 'الرموز المستخدمة',
      language: 'لغة',
      createDate: 'تاريخ الإنشاء',
      updateDate: 'تاريخ التحديث',
      permission: 'إذن',
      agentTitle: 'عنوان الوكيل',
      canvasCategory: 'فئة قماش',
      newRole: 'دور جديد',
      addNewRole: 'إضافة دور جديد',
      roleName: 'اسم الدور',
      roleNameRequired: 'اسم الدور مطلوب',
      resources: 'موارد',
      editRoleDescription: 'تحرير وصف الدور',
      deleteRole: 'حذف الدور',
      deleteRoleConfirmation:
        'هل أنت متأكد أنك تريد حذف هذا الدور؟ لا يمكن التراجع عن هذا الإجراء.',
      alive: 'على قيد الحياة',
      timeout: 'نفذ الوقت',
      fail: 'يفشل',
    },
    explore: {
      title: 'يطلق',
      canvasList: 'قائمة قماش',
      sessions: 'الجلسات',
      newSession: 'جلسة جديدة',
      newSessionLabel: 'ابدأ محادثة جديدة',
      deleteSession: 'حذف الجلسة',
      searchCanvas: 'لوحة بحث...',
      searchSessions: 'جلسات البحث...',
      noCanvasSelected: 'الرجاء تحديد لوحة قماشية',
      noSessionSelected: 'الرجاء تحديد جلسة أو إنشاء جلسة جديدة',
      noSessionsFound: 'لم يتم العثور على جلسات',
      createFirstSession: 'قم بإنشاء جلستك الأولى',
      noCanvasFound: 'لم يتم العثور على قماش',
      deleteSelectedConfirm:
        'هل أنت متأكد أنك تريد حذف الجلسة/الجلسات ({{count}})؟',
      batchDeleteSessions: 'حذف الجلسات',
    },
  },
};
