AI generate only produces images, so Video Pin / Reel / TikTok Video are filtered out in previewOnly and rejected server-side with a clear error. Co-authored-by: Cursor <cursoragent@cursor.com>
413 lines
22 KiB
PHP
413 lines
22 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
return [
|
|
'mobile_notice' => 'يعمل محرر الأتمتة بشكل أفضل على شاشة أكبر. افتحه على جهاز كمبيوتر مكتبي لإنشاء سير عملك.',
|
|
'title' => 'الأتمتة',
|
|
'default_name' => 'أتمتة جديدة',
|
|
|
|
'actions' => [
|
|
'new' => 'أتمتة جديدة',
|
|
'edit' => 'تعديل',
|
|
'save' => 'حفظ',
|
|
'activate' => 'تفعيل',
|
|
'pause' => 'إيقاف مؤقت',
|
|
'delete' => 'حذف',
|
|
'retry' => 'إعادة المحاولة',
|
|
'guide' => 'تعرّف على آلية العمل',
|
|
],
|
|
|
|
'tabs' => [
|
|
'build' => 'البناء',
|
|
'variables' => 'المتغيرات',
|
|
'test' => 'اختبار',
|
|
],
|
|
|
|
'nav' => [
|
|
'workflow' => 'سير العمل',
|
|
'invocations' => 'عمليات التشغيل',
|
|
'metrics' => 'المقاييس',
|
|
'settings' => 'الإعدادات',
|
|
],
|
|
|
|
'settings' => [
|
|
'general' => 'عام',
|
|
'general_description' => 'إعادة تسمية هذه الأتمتة.',
|
|
'name_label' => 'الاسم',
|
|
'name_saved' => 'تمت إعادة تسمية الأتمتة.',
|
|
'status_title' => 'الحالة',
|
|
'status_description' => 'فعّلها لبدء تشغيلها، أو أوقفها مؤقتًا للتوقف.',
|
|
'activated_at' => 'تم التفعيل :date',
|
|
'paused_at' => 'تم الإيقاف المؤقت :date',
|
|
'created_at' => 'تم الإنشاء :date',
|
|
'danger_title' => 'منطقة الخطر',
|
|
'danger_description' => 'إجراءات لا يمكن التراجع عنها.',
|
|
'delete_title' => 'حذف هذه الأتمتة',
|
|
'delete_description' => 'يزيل الأتمتة وسجل تشغيلها نهائيًا.',
|
|
],
|
|
|
|
'status_run' => [
|
|
'pending' => 'قيد الانتظار',
|
|
'running' => 'قيد التشغيل',
|
|
'waiting' => 'في الانتظار',
|
|
'completed' => 'مكتمل',
|
|
'failed' => 'فشل',
|
|
'cancelled' => 'مُلغى',
|
|
],
|
|
|
|
'node_type' => [
|
|
'trigger' => 'مُشغّل',
|
|
'generate' => 'إنشاء محتوى',
|
|
'delay' => 'تأخير',
|
|
'condition' => 'شرط',
|
|
'publish' => 'نشر',
|
|
'webhook' => 'Webhook',
|
|
'end' => 'إنهاء',
|
|
'fetch_rss' => 'جلب RSS',
|
|
'http_request' => 'طلب HTTP',
|
|
],
|
|
|
|
'invocations' => [
|
|
'empty' => 'لا توجد عمليات تشغيل بعد.',
|
|
'refresh' => 'تحديث',
|
|
'search_placeholder' => 'البحث عبر معرّف التشغيل…',
|
|
'copied' => 'تم نسخ معرّف التشغيل.',
|
|
'loading' => 'جارٍ تحميل الخطوات…',
|
|
'no_steps' => 'لم يتم تسجيل أي خطوات.',
|
|
'load_error' => 'تعذر تحميل الخطوات.',
|
|
'steps' => '{0}لا خطوات|{1}خطوة واحدة|{2}خطوتان|[3,10]:count خطوات|[11,*]:count خطوة',
|
|
'filter' => [
|
|
'all' => 'جميع الحالات',
|
|
],
|
|
'columns' => [
|
|
'timestamp' => 'الطابع الزمني',
|
|
'run' => 'التشغيل',
|
|
'status' => 'الحالة',
|
|
'message' => 'آخر رسالة',
|
|
'duration' => 'المدة',
|
|
],
|
|
'summary' => [
|
|
'completed' => 'اكتمل سير العمل',
|
|
'failed' => 'فشل سير العمل',
|
|
'running' => 'سير العمل قيد التشغيل',
|
|
'cancelled' => 'تم إلغاء سير العمل',
|
|
'pending' => 'سير العمل قيد الانتظار',
|
|
],
|
|
],
|
|
|
|
'metrics' => [
|
|
'overview' => 'نظرة عامة',
|
|
'runs_over_time' => 'عمليات التشغيل عبر الزمن',
|
|
'posts_by_platform' => 'المنشورات حسب المنصة',
|
|
'no_posts' => 'لم يتم نشر أي منشورات في هذه الفترة.',
|
|
'cards' => [
|
|
'runs' => 'إجمالي عمليات التشغيل',
|
|
'completed' => 'مكتملة',
|
|
'failed' => 'فاشلة',
|
|
'in_progress' => 'قيد التنفيذ',
|
|
'success_rate' => 'معدل النجاح',
|
|
'avg_duration' => 'متوسط المدة',
|
|
'posts_created' => 'المنشورات المُنشأة',
|
|
],
|
|
'legend' => [
|
|
'started' => 'بدأت',
|
|
'completed' => 'اكتملت',
|
|
'failed' => 'فشلت',
|
|
],
|
|
],
|
|
|
|
'categories' => [
|
|
'sources' => 'المصادر',
|
|
'content' => 'المحتوى',
|
|
'flow' => 'التدفق',
|
|
'output' => 'الإخراج',
|
|
],
|
|
|
|
'variables' => [
|
|
'title' => 'متغيرات سير العمل',
|
|
'hint' => 'قيم قابلة لإعادة الاستخدام يُشار إليها في أي مكان عبر {{ variables.KEY }}. تُخزَّن مشفّرة.',
|
|
'empty' => 'لا توجد متغيرات بعد.',
|
|
'key' => 'المفتاح',
|
|
'value' => 'القيمة',
|
|
'key_placeholder' => 'API_KEY',
|
|
'value_placeholder' => 'القيمة',
|
|
'add' => 'متغير جديد',
|
|
],
|
|
|
|
'expr' => [
|
|
'trigger_event' => 'اسم حدث المُشغّل',
|
|
'trigger_fired_at' => 'وقت إطلاق المُشغّل',
|
|
'trigger_post_id' => 'معرّف المنشور المُشغِّل',
|
|
'trigger_post_content' => 'محتوى المنشور المُشغِّل',
|
|
'trigger_post_status' => 'حالة المنشور المُشغِّل',
|
|
'trigger_post_scheduled_at' => 'وقت جدولة المنشور',
|
|
'trigger_post_published_at' => 'وقت نشر المنشور',
|
|
'fetched_title' => 'عنوان العنصر المجلوب',
|
|
'fetched_link' => 'رابط العنصر المجلوب',
|
|
'fetched_date' => 'تاريخ نشر العنصر المجلوب',
|
|
'fetched_content' => 'المحتوى الكامل للعنصر المجلوب',
|
|
'fetched_description' => 'ملخص العنصر المجلوب',
|
|
'fetched_author' => 'كاتب العنصر المجلوب',
|
|
'fetched_image' => 'رابط صورة العنصر المجلوب',
|
|
'fetched_categories' => 'فئات العنصر المجلوب',
|
|
'fetched_enclosure' => 'وسائط العنصر المجلوب (صوت/فيديو/ملف)',
|
|
'fetched_pubdate' => 'تاريخ نشر العنصر المجلوب',
|
|
'fetched_http' => 'عنصر HTTP المجلوب (أضِف حقلًا)',
|
|
'generated_content' => 'محتوى المنشور المُنشأ بالذكاء الاصطناعي',
|
|
'generated_post_url' => 'رابط المنشور المُنشأ بالذكاء الاصطناعي',
|
|
'variable' => 'متغير سير العمل',
|
|
'now' => 'التاريخ والوقت الحالي',
|
|
],
|
|
|
|
'test' => [
|
|
'description' => 'يشغّل الأتمتة من البداية إلى النهاية باستخدام حمولة مُشغِّل مُصطنعة. مفيد للتحقق من كل عقدة دون انتظار الجدول أو الخلاصة الحقيقية.',
|
|
'starting' => 'جارٍ بدء تشغيل الاختبار…',
|
|
'in_progress' => 'قيد التنفيذ',
|
|
'completed' => 'مكتمل',
|
|
'failed' => 'فشل',
|
|
'waiting' => 'في الانتظار',
|
|
'close' => 'إغلاق',
|
|
'no_node_runs' => 'في انتظار بدء العقدة الأولى…',
|
|
'node_input' => 'المدخلات',
|
|
'node_output' => 'المخرجات',
|
|
'node_error' => 'خطأ',
|
|
'no_new_items' => 'لا توجد عناصر جديدة — لم يُشغَّل أي شيء لاحق.',
|
|
'error_starting' => 'تعذر بدء تشغيل الاختبار.',
|
|
'with_real_data' => 'ببيانات حقيقية',
|
|
'run' => 'تشغيل الاختبار',
|
|
'idle_hint' => 'اضغط على "تشغيل الاختبار" لتنفيذ الأتمتة من البداية إلى النهاية.',
|
|
'real_data_hint' => 'سيقوم هذا الاختبار بنشر المنشورات، وتقديم علامات الاستطلاع، وإطلاق تأثيرات جانبية خارجية.',
|
|
'dry_badge' => 'تشغيل تجريبي',
|
|
],
|
|
|
|
'status' => [
|
|
'draft' => 'مسودة',
|
|
'active' => 'نشط',
|
|
'paused' => 'متوقف مؤقتًا',
|
|
],
|
|
|
|
'index' => [
|
|
'empty_title' => 'لا توجد عمليات أتمتة بعد',
|
|
'empty_description' => 'أنشئ أول أتمتة لك لبدء النشر تلقائيًا.',
|
|
'columns' => [
|
|
'name' => 'الاسم',
|
|
'status' => 'الحالة',
|
|
'created' => 'تاريخ الإنشاء',
|
|
],
|
|
],
|
|
|
|
'form' => [
|
|
'activate_error_fallback' => 'تعذر تفعيل الأتمتة.',
|
|
'pause_error_fallback' => 'تعذر إيقاف الأتمتة مؤقتًا.',
|
|
'save_error_fallback' => 'تعذر حفظ الأتمتة.',
|
|
'save_success' => 'تم حفظ الأتمتة.',
|
|
'empty_canvas_title' => 'ابدأ ببناء أتمتتك',
|
|
'empty_canvas_description' => 'اسحب عقدة من اللوحة الجانبية للبدء.',
|
|
'name_placeholder' => 'أتمتة بلا عنوان',
|
|
],
|
|
|
|
'nodes' => [
|
|
'trigger' => 'مُشغّل',
|
|
'generate' => 'إنشاء',
|
|
'delay' => 'تأخير',
|
|
'condition' => 'شرط',
|
|
'publish' => 'نشر',
|
|
'webhook' => 'Webhook',
|
|
'end' => 'إنهاء',
|
|
'end_summary' => 'يوقف الأتمتة هنا',
|
|
'fetch_rss' => 'جلب RSS',
|
|
'http_request' => 'طلب HTTP',
|
|
'handles' => [
|
|
'items' => 'يحتوي على عناصر',
|
|
'no_items' => 'لا عناصر',
|
|
],
|
|
],
|
|
|
|
'config' => [
|
|
'select_placeholder' => 'اختر…',
|
|
'invalid_json' => 'هذا ليس JSON صالحًا بعد.',
|
|
'expand_editor' => 'توسيع المحرر',
|
|
'minimize_editor' => 'تصغير',
|
|
|
|
'trigger' => [
|
|
'type' => 'نوع المُشغّل',
|
|
'types' => [
|
|
'schedule' => 'جدولة',
|
|
'post_published' => 'عند نشر منشور',
|
|
'post_scheduled' => 'عند جدولة منشور',
|
|
],
|
|
'post_published_hint' => 'يعمل كلما تم نشر أي منشور في مساحة العمل هذه. يصبح المنشور المنشور متاحًا في {{ trigger.post }} للعقد اللاحقة.',
|
|
'post_scheduled_hint' => 'يعمل كلما تمت جدولة أي منشور في مساحة العمل هذه. يكون المنشور المجدول متاحًا في {{ trigger.post }}.',
|
|
|
|
'schedule' => [
|
|
'field' => 'فاصل المُشغّل',
|
|
'fields' => [
|
|
'minutes' => 'دقائق',
|
|
'hours' => 'ساعات',
|
|
'days' => 'أيام',
|
|
'weeks' => 'أسابيع',
|
|
'months' => 'أشهر',
|
|
],
|
|
'minutes_interval' => 'الدقائق بين عمليات التشغيل',
|
|
'hours_interval' => 'الساعات بين عمليات التشغيل',
|
|
'days_interval' => 'الأيام بين عمليات التشغيل',
|
|
'hour' => 'التشغيل عند الساعة',
|
|
'minute' => 'التشغيل عند الدقيقة',
|
|
'weekdays' => 'التشغيل في أيام الأسبوع',
|
|
'day_of_month' => 'يوم من الشهر',
|
|
'weekday_names' => [
|
|
'sun' => 'أحد',
|
|
'mon' => 'اثنين',
|
|
'tue' => 'ثلاثاء',
|
|
'wed' => 'أربعاء',
|
|
'thu' => 'خميس',
|
|
'fri' => 'جمعة',
|
|
'sat' => 'سبت',
|
|
],
|
|
'summary' => [
|
|
'every_n_minutes' => '{1}يعمل كل دقيقة|{2}يعمل كل دقيقتين|[3,10]يعمل كل :count دقائق|[11,*]يعمل كل :count دقيقة',
|
|
'every_n_hours' => '{1}يعمل كل ساعة عند الدقيقة :minute|{2}يعمل كل ساعتين عند الدقيقة :minute|[3,10]يعمل كل :count ساعات عند الدقيقة :minute|[11,*]يعمل كل :count ساعة عند الدقيقة :minute',
|
|
'every_n_days' => '{1}يعمل كل يوم عند :time|{2}يعمل كل يومين عند :time|[3,10]يعمل كل :count أيام عند :time|[11,*]يعمل كل :count يوم عند :time',
|
|
'weekly' => 'يعمل كل :days عند :time',
|
|
'monthly' => 'يعمل في اليوم :day من كل شهر عند :time',
|
|
],
|
|
],
|
|
],
|
|
'generate' => [
|
|
'social_accounts' => 'الحسابات الاجتماعية',
|
|
'social_accounts_empty' => 'لا توجد حسابات اجتماعية متصلة. اربط واحدًا أولًا.',
|
|
'target_slide_count' => 'الشرائح المراد إنشاؤها',
|
|
'prompt_template' => 'قالب الموجّه',
|
|
'prompt_template_hint' => 'اكتب {{ لإدراج بيانات من الخطوات السابقة.',
|
|
'image_count' => 'الصور المراد إنشاؤها',
|
|
'image_count_hint' => '0 = منشور نصي فقط (بلا صورة). 1 = صورة واحدة. 2 أو أكثر = عرض دائري.',
|
|
'use_brand_voice' => 'استخدام صوت العلامة التجارية',
|
|
'use_brand_voice_hint' => 'طبّق وصف علامتك التجارية وصوتها. أوقفه للتنسيق الأمين لمصادر الجهات الخارجية (الأخبار، RSS).',
|
|
'use_brand_visuals' => 'استخدام العناصر المرئية للعلامة التجارية',
|
|
'use_brand_visuals_hint' => 'وجّه صور الذكاء الاصطناعي بألوان علامتك التجارية وهويتها. أوقفه للصور المحايدة المدفوعة بموضوع المنشور فقط.',
|
|
'style' => 'النمط',
|
|
'account_summary' => '{1}حساب واحد · :format|{2}حسابان · :format|[3,10]:count حسابات · :format|[11,*]:count حساب · :format',
|
|
'formats' => [
|
|
'single' => 'مفرد',
|
|
'carousel' => 'عرض دائري',
|
|
],
|
|
],
|
|
'delay' => [
|
|
'duration' => 'المدة',
|
|
'unit' => 'الوحدة',
|
|
'units' => [
|
|
'minutes' => 'دقائق',
|
|
'hours' => 'ساعات',
|
|
'days' => 'أيام',
|
|
],
|
|
],
|
|
'condition' => [
|
|
'field' => 'الحقل',
|
|
'operator' => 'العامل',
|
|
'operators' => [
|
|
'contains' => 'يحتوي على',
|
|
'not_contains' => 'لا يحتوي على',
|
|
'equals' => 'يساوي',
|
|
'not_equals' => 'لا يساوي',
|
|
'matches' => 'يطابق (تعبير نمطي)',
|
|
'greater_than' => 'أكبر من',
|
|
'less_than' => 'أصغر من',
|
|
],
|
|
'value' => 'القيمة',
|
|
],
|
|
'publish' => [
|
|
'mode' => 'الوضع',
|
|
'modes' => [
|
|
'now' => 'نشر الآن',
|
|
'scheduled' => 'جدولة',
|
|
'draft' => 'حفظ كمسودة',
|
|
],
|
|
'scheduled_offset' => 'الإزاحة عن المُشغّل (بالدقائق)',
|
|
'offset_summary' => ':mode · +:offset د',
|
|
],
|
|
'webhook' => [
|
|
'url' => 'الرابط',
|
|
'method' => 'الطريقة',
|
|
'payload_template' => 'قالب الحمولة (JSON)',
|
|
],
|
|
'end' => [
|
|
'reason' => 'السبب (اختياري)',
|
|
'reason_placeholder' => 'مثال: تمت تصفيته بواسطة شرط',
|
|
],
|
|
'fetch_rss' => [
|
|
'feed_url' => 'رابط الخلاصة',
|
|
'feed_url_hint' => 'في التشغيل الأول، تُضبط العلامة على "الآن" حتى لا تُغرِق العناصر التاريخية العقد اللاحقة. تشاهد عمليات التشغيل اللاحقة فقط العناصر الأحدث من الاستطلاع السابق.',
|
|
'inspect' => 'فحص الخلاصة',
|
|
'inspecting' => 'جارٍ الفحص…',
|
|
'inspect_hint' => 'اجلب عينة لاكتشاف الحقول المتاحة للاستخدام في العقد اللاحقة.',
|
|
'inspect_error' => 'تعذرت قراءة هذه الخلاصة. تحقق من الرابط وحاول مرة أخرى.',
|
|
'discovered_fields' => 'الحقول المتاحة',
|
|
'discovered_empty' => 'لم يتم العثور على حقول في أحدث عنصر.',
|
|
],
|
|
'http_request' => [
|
|
'url' => 'الرابط',
|
|
'method' => 'الطريقة',
|
|
'auth_type' => 'المصادقة',
|
|
'auth' => [
|
|
'none' => 'بلا (عام)',
|
|
'bearer' => 'رمز Bearer',
|
|
'basic' => 'مصادقة أساسية',
|
|
'api_key' => 'ترويسة مفتاح API',
|
|
],
|
|
'bearer_token' => 'رمز Bearer',
|
|
'basic_username' => 'اسم المستخدم',
|
|
'basic_password' => 'كلمة المرور',
|
|
'api_key_header' => 'اسم الترويسة',
|
|
'api_key_value' => 'مفتاح API',
|
|
'body_template' => 'قالب النص (JSON)',
|
|
'headers' => 'الترويسات',
|
|
'header_name' => 'اسم الترويسة',
|
|
'header_value' => 'القيمة',
|
|
'add_header' => 'إضافة ترويسة',
|
|
'polling_section' => 'القائمة وإزالة التكرار (اختياري)',
|
|
'polling_hint' => 'عندما تكون الاستجابة قائمة، يشغّل كل عنصر سير العمل بشكل منفصل. يشغّل الكائن الواحد مرة واحدة.',
|
|
'items_path' => 'مسار العناصر',
|
|
'items_path_hint' => 'اتركه فارغًا إذا كانت الاستجابة مصفوفة بالفعل. استخدم مسارًا منقّطًا (مثل data.items) لمصفوفة متداخلة، أو * لكائن مفهرس بالمعرّف.',
|
|
'item_key_path' => 'مسار مفتاح العنصر',
|
|
'item_key_path_hint' => 'مسار JSON لمعرّف فريد (مثل id). تُتخطى العناصر التي سبقت رؤيتها، لذا تظل الخلاصة بلا تواريخ تُمرّر الإدخالات الجديدة فقط.',
|
|
'item_date_path' => 'مسار تاريخ العنصر',
|
|
'item_date_path_hint' => 'مسار JSON للطابع الزمني للعنصر (مثل published_at). يُفضَّل على مسار المفتاح عند توفره. يسجّل الاستطلاع الأول الأساس ولا يمرّر شيئًا، لذا لا تُغرِق الخلاصة الموجودة في اليوم الأول.',
|
|
],
|
|
],
|
|
|
|
'delete' => [
|
|
'title' => 'حذف الأتمتة',
|
|
'description' => 'هل أنت متأكد من رغبتك في حذف هذه الأتمتة؟ ستتم إزالة جميع عمليات التشغيل وعناصر التشغيل أيضًا. لا يمكن التراجع عن هذا الإجراء.',
|
|
'confirm' => 'حذف',
|
|
'cancel' => 'إلغاء',
|
|
],
|
|
|
|
'flash' => [
|
|
'deleted' => 'تم حذف الأتمتة بنجاح!',
|
|
],
|
|
|
|
'errors' => [
|
|
'no_active_social_accounts' => 'لا توجد حسابات اجتماعية نشطة مُهيّأة لهذه الأتمتة.',
|
|
'must_have_one_trigger' => 'يجب أن تحتوي الأتمتة على عقدة مُشغّل واحدة بالضبط.',
|
|
'trigger_must_be_connected' => 'يجب أن تكون عقدة المُشغّل متصلة بعقدة واحدة على الأقل.',
|
|
'graph_contains_cycle' => 'يحتوي مخطط الأتمتة على حلقة.',
|
|
'only_failed_can_retry' => 'يمكن إعادة محاولة عمليات التشغيل الفاشلة فقط.',
|
|
'no_generated_post' => 'لم يتم العثور على منشور مُنشأ في التشغيل.',
|
|
'webhook_server_error' => 'خطأ في خادم Webhook.',
|
|
'webhook_request_failed' => 'تعذر إكمال طلب Webhook.',
|
|
'webhook_missing_url' => 'عقدة Webhook تفتقد إلى رابط.',
|
|
'webhook_invalid_payload_json' => 'قالب الحمولة ليس JSON صالحًا.',
|
|
'url_not_allowed' => 'رابط الطلب يشير إلى عنوان خاص أو غير قابل للوصول وتم حظره.',
|
|
'node_no_longer_exists' => 'العقدة :node_id لم تعد موجودة في الأتمتة.',
|
|
'no_trigger_connection' => 'لا توجد عقدة متصلة بعقدة المُشغّل.',
|
|
'fetch_rss_missing_url' => 'عقدة جلب RSS تفتقد إلى رابط خلاصة.',
|
|
'fetch_rss_request_failed' => 'فشل طلب خلاصة RSS.',
|
|
'fetch_rss_malformed' => 'خلاصة RSS مشوّهة.',
|
|
'http_missing_url' => 'عقدة طلب HTTP تفتقد إلى رابط.',
|
|
'http_request_exception' => 'أطلق طلب HTTP استثناءً.',
|
|
'http_request_failed' => 'فشل طلب HTTP.',
|
|
'http_items_path_not_array' => 'لم يُفضِ مسار العناصر إلى قائمة.',
|
|
'generate_image_format_required' => 'توليد الذكاء الاصطناعي ينشئ صورًا فقط. اختر تنسيق صورة (وليس فيديو).',
|
|
],
|
|
];
|