mirror of
https://github.com/nexu-io/open-design.git
synced 2026-06-01 03:14:35 +07:00
* feat: improve responsive design handoff * feat: refine cross-platform design outputs Changelog:\n- Add auto-fit responsive preview behavior for tablet/mobile frames.\n- Add landing page and OS widgets metadata options with project header chips.\n- Strengthen prompt contracts for modern breakpoints, app-specific modules, CJX-ready UX, and final product surfaces.\n- Require cross-platform outputs to use separate platform files instead of tabbed demo selectors.\n- Add DESIGN-MANIFEST.json plus richer handoff guidance to daemon/client exports.\n- Update archive/export tests for manifest and responsive viewport matrix. * feat: enforce screen-file design outputs Changelog:\n- Enforce screen-file-first generation for landing pages, app screens, platform surfaces, and OS widgets.\n- Update design handoff and manifest exports so coding tools map each screen file to separate routes/surfaces.\n- Strengthen minimal-brief visual guidance to avoid monochrome or unstyled design outputs. * fix: address responsive handoff review feedback * fix: address handoff review blockers * fix: preserve proxy auth and normalized export entry * fix: narrow frame wrapper filter to directory paths only * fix: make artifact save failure banner generic --------- Co-authored-by: Huy Hoàng <macos@MacBook-Pro-Hoang.local>
1364 lines
85 KiB
TypeScript
1364 lines
85 KiB
TypeScript
import { en } from './en';
|
||
import type { Dict } from '../types';
|
||
|
||
export const ar: Dict = {
|
||
...en,
|
||
'common.cancel': 'إلغاء',
|
||
'common.save': 'حفظ',
|
||
'common.close': 'إغلاق',
|
||
'common.delete': 'حذف',
|
||
'common.rename': 'إعادة تسمية',
|
||
'common.preview': 'معاينة',
|
||
'common.share': 'مشاركة',
|
||
'common.search': 'بحث',
|
||
'common.searchEllipsis': 'بحث...',
|
||
'common.loading': 'جاري التحميل...',
|
||
'common.all': 'الكل',
|
||
'common.none': 'لا شيء',
|
||
'common.default': 'افتراضي',
|
||
'common.installed': 'مثبت',
|
||
'common.notInstalled': 'غير مثبت',
|
||
'common.active': 'نشط',
|
||
'common.offline': 'غير متصل',
|
||
'common.selected': 'محدد',
|
||
'common.create': 'إنشاء',
|
||
'common.openPreview': 'فتح المعاينة',
|
||
'common.exitFullscreen': 'الخروج من ملء الشاشة',
|
||
'common.fullscreen': 'ملء الشاشة',
|
||
'common.openInNewTab': 'فتح في علامة تبويب جديدة',
|
||
'common.exportPdf': 'تصدير كـ PDF',
|
||
'common.exportZip': 'تحميل كـ zip.',
|
||
'common.exportHtml': 'تصدير كـ HTML مستقل',
|
||
'common.justNow': 'الآن',
|
||
'common.minutesAgo': 'منذ {n} دقيقة',
|
||
'common.hoursAgo': 'منذ {n} ساعة',
|
||
'common.daysAgo': 'منذ {n} يوم',
|
||
'common.now': 'الآن',
|
||
'common.minutesShort': '{n} د',
|
||
'common.hoursShort': '{n} سا',
|
||
'common.daysShort': '{n} ي',
|
||
'common.untitled': 'بدون عنوان',
|
||
|
||
'app.brand': 'Open Design',
|
||
'app.brandPill': 'معاينة البحث',
|
||
'app.brandSubtitle': 'بواسطة Nexu Labs',
|
||
'app.welcomeLoading': 'جاري تحميل مساحة العمل...',
|
||
|
||
'settings.welcomeKicker': 'مرحباً',
|
||
'settings.welcomeTitle': 'إعداد Open Design',
|
||
'settings.welcomeSubtitle':
|
||
"اختر كيف تريد تشغيل الأجيال. يمكنك تغيير هذا في أي وقت من زر الإعدادات في الشريط العلوي.",
|
||
'settings.kicker': 'الإعدادات',
|
||
'settings.title': 'التنفيذ والنموذج',
|
||
'settings.subtitle': 'اختر بين CLI المحلي و BYOK. يتم حفظ مفتاح API في هذا المتصفح فقط.',
|
||
'settings.modeAria': 'وضع التنفيذ',
|
||
'settings.protocolAria': 'بروتوكول API',
|
||
'settings.modeDaemon': 'CLI محلي',
|
||
'settings.modeDaemonHelp': 'التشغيل عبر واجهة CLI على جهازك',
|
||
'settings.modeDaemonOffline': 'البرنامج الخفي لا يعمل',
|
||
'settings.modeDaemonOfflineMeta': 'غير متصل',
|
||
'settings.modeDaemonInstalledMeta': '{count} مثبت',
|
||
'settings.modeApi': 'مزود API',
|
||
'settings.modeApiMeta': 'BYOK',
|
||
'settings.codeAgent': 'وكيل الكود',
|
||
'settings.codeAgentHint':
|
||
'تم اكتشافه عبر مسح PATH الخاص بك. اختر واجهة CLI التي تريد أن تمر الأجيال عبرها.',
|
||
'settings.rescan': '↻ إعادة المسح',
|
||
'settings.rescanTitle': 'إعادة مسح PATH',
|
||
'settings.rescanRunning': 'جارٍ المسح...',
|
||
'settings.rescanSuccess': 'اكتمل المسح. {count} متاح.',
|
||
'settings.rescanFailed': 'فشل المسح. تحقق من البرنامج الخفي وحاول مرة أخرى.',
|
||
'settings.test': 'اختبار',
|
||
'settings.testTitle': 'أرسل مطالبة اختبار صغيرة للتحقق من الاتصال',
|
||
'settings.testRunning': 'جاري اختبار الاتصال…',
|
||
'settings.testCancel': 'إلغاء',
|
||
'settings.testSuccessApi': 'تم الاتصال. رد خلال {ms} مللي ثانية — \'{sample}\'',
|
||
'settings.testSuccessCli': 'رد {agentName} خلال {ms} مللي ثانية — \'{sample}\'',
|
||
'settings.testAuthFailed': 'فشلت المصادقة. تحقق من مفتاح الـ API.',
|
||
'settings.testForbidden': 'الوصول ممنوع. تحقق من الحساب أو المنطقة أو المؤسسة.',
|
||
'settings.testNotFoundModel': 'لم يتم العثور على النموذج \'{model}\' في هذه النقطة.',
|
||
'settings.testInvalidModelId': 'معرّف النموذج \'{model}\' غير صالح. يجب أن يبدأ المعرّف المخصص بحرف أو رقم وألا يحتوي على مسافات.',
|
||
'settings.testInvalidBaseUrl': 'Base URL غير صالح أو يتعذر الوصول إليه.',
|
||
'settings.testRateLimited': 'حد المزود معدّل الاختبار. التكوين يبدو صالحاً.',
|
||
'settings.testUpstream': 'أعاد المزود {status}. حاول مرة أخرى بعد قليل.',
|
||
'settings.testTimeout': 'انتهت مهلة الاختبار بعد {ms} مللي ثانية.',
|
||
'settings.testAgentMissing': '{agentName} غير مثبت أو ليس في PATH.',
|
||
'settings.testAgentSpawn': 'تعذّر تشغيل {agentName}: {detail}.',
|
||
'settings.testUnknown': 'فشل الاختبار: {detail}',
|
||
'settings.agentInstall.install': 'تثبيت',
|
||
'settings.agentInstall.docs': 'الوثائق',
|
||
'settings.agentInstall.pathHint':
|
||
'إذا ثبّتّ CLI باستخدام npm أو Homebrew وما زال يظهر كغير مثبت، فتأكد من أن مجلد bin للأداة موجود في PATH الذي يرثه daemon الخاص بـ Open Design (قد يختلف PATH بين Terminal وتطبيقات GUI على macOS). راجع QUICKSTART.md (قسم "Local agent CLI and PATH").',
|
||
'settings.agentInstall.stepOpenLinks': 'افتح رابط التثبيت أو الوثائق للوكيل الذي تفضله.',
|
||
'settings.agentInstall.stepAuth':
|
||
'أكمِل المصادقة في CLI الخاص بالمزوّد (تسجيل الدخول أو إضافة بيانات اعتماد API) قبل العودة إلى Open Design.',
|
||
'settings.agentInstall.stepRescan': 'انقر إعادة المسح في هذا القسم.',
|
||
'settings.agentInstall.stepSelect': 'اختر بطاقة الوكيل عندما يظهر كأنه مثبت.',
|
||
'settings.noAgentsDetected':
|
||
'لم يتم اكتشاف أي وكلاء بعد. قم بتثبيت Claude Code أو Codex أو Devin أو Gemini CLI أو OpenCode أو Cursor Agent أو Qwen أو GitHub Copilot CLI، ثم اضغط على إعادة المسح.',
|
||
'settings.apiSection': 'Anthropic API',
|
||
'settings.quickFillProvider': 'ملء المزوّد سريعًا',
|
||
'settings.customProvider': 'مزوّد مخصص',
|
||
'settings.apiKey': 'مفتاح API',
|
||
'settings.showKey': 'إظهار المفتاح',
|
||
'settings.hideKey': 'إخفاء المفتاح',
|
||
'settings.show': 'إظهار',
|
||
'settings.hide': 'إخفاء',
|
||
'settings.model': 'النموذج',
|
||
'settings.suggestedModelsHint':
|
||
'هذه نماذج مقترحة لهذا البروتوكول. قد يدعم مزوّدك نماذج مختلفة.',
|
||
'settings.baseUrl': 'رابط القاعدة',
|
||
'settings.baseUrlInvalid': 'أدخل رابط http:// أو https:// عام وصالح. يُسمح بـ localhost؛ ويتم حظر عناوين IP للشبكات الخاصة.',
|
||
'settings.azureDeploymentModel': 'اسم النشر',
|
||
'settings.azureDeploymentModelHint':
|
||
'في Azure OpenAI، يُستخدم هذا الحقل كاسم النشر في /openai/deployments/<model>. أدخل اسم النشر الذي أنشأته في Azure.',
|
||
'settings.apiVersion': 'إصدار API',
|
||
'settings.maxTokens': 'أقصى عدد من الرموز (اختياري)',
|
||
'settings.maxTokensHint':
|
||
'الحد الأقصى لطول الاستجابة. لكل نموذج قيمة افتراضية؛ اتركها فارغة لاستخدامها، أو أدخل رقماً للتجاوز.',
|
||
'settings.apiHint': 'تُرسل الطلبات عبر وكيل daemon المحلي إلى Base URL الذي تحدده. يُحفظ المفتاح في هذا المتصفح فقط ويُرسل مع طلبات المزود.',
|
||
'settings.skipForNow': 'تخطي الآن',
|
||
'settings.getStarted': 'ابدأ الآن',
|
||
'settings.envConfigure': 'تكوين وضع التنفيذ',
|
||
'settings.localCli': 'CLI محلي',
|
||
'settings.anthropicApi': 'Anthropic API',
|
||
'settings.noAgentSelected': 'لم يتم اختيار وكيل',
|
||
'settings.language': 'اللغة',
|
||
'settings.languageHint': 'تغيير لغة الواجهة. تحفظ في المتصفح.',
|
||
'settings.appearance': 'المظهر',
|
||
'settings.appearanceHint': 'اختر الفاتح، الداكن، أو اتبع إعدادات النظام.',
|
||
'settings.themeSystem': 'النظام',
|
||
'settings.themeLight': 'فاتح',
|
||
'settings.themeDark': 'داكن',
|
||
'settings.modelPicker': 'النموذج',
|
||
'settings.reasoningPicker': 'جهد التفكير',
|
||
'settings.modelPickerHint':
|
||
'يتم جلبه من CLI عندما يعرض أمر `models`. "الافتراضي" يترك الخيار لإعدادات CLI؛ "مخصص..." يسمح لك بكتابة أي معرف نموذج يقبله CLI.',
|
||
'settings.cliEnvTitle': 'CLI config locations',
|
||
'settings.cliEnvHint':
|
||
'Set non-secret config directories for packaged app runs and agent detection.',
|
||
'settings.cliEnvClaudeConfigDir': 'Claude Code config directory',
|
||
'settings.cliEnvClaudeBaseUrl': 'Claude proxy base URL',
|
||
'settings.cliEnvClaudeApiKey': 'Claude proxy API key',
|
||
'settings.cliEnvCodexHome': 'Codex home',
|
||
'settings.cliEnvCodexBin': 'Codex executable path',
|
||
'settings.cliEnvCodexBaseUrl': 'Codex/OpenAI proxy base URL',
|
||
'settings.cliEnvCodexApiKey': 'Codex/OpenAI proxy API key',
|
||
'settings.modelCustom': 'مخصص (اكتب أدناه)...',
|
||
'settings.modelCustomLabel': 'معرف النموذج المخصص',
|
||
'settings.modelCustomPlaceholder': 'مثلاً: anthropic/claude-sonnet-4-6',
|
||
'settings.mediaProviders': 'مزودو الوسائط',
|
||
'settings.mediaProvidersHint':
|
||
'مفاتيح API لإنشاء الصور والفيديو والصوت. تخزن محلياً وتزامن مع البرنامج الخفي المحلي.',
|
||
'settings.mcpServerTitle': 'خادم MCP',
|
||
'settings.mcpServerHint': 'كشف Open Design كخادم MCP لوكيل البرمجة الخاص بك.',
|
||
'settings.externalMcpTitle': 'MCP خارجي',
|
||
'settings.externalMcpHint': 'أضف أدوات MCP من خدمات خارجية (Higgsfield، GitHub، …).',
|
||
'settings.mediaProviderApiKey': 'مفتاح API',
|
||
'settings.mediaProviderBaseUrl': 'رابط القاعدة',
|
||
'settings.mediaProviderConfigured': 'تم التكوين',
|
||
'settings.mediaProviderUnset': 'غير محدد',
|
||
'settings.mediaProviderClear': 'مسح',
|
||
'settings.mediaProviderClearConfirm': 'مسح إعدادات {name} المحفوظة؟ ستحتاج إلى إدخالها مرة أخرى لاستخدام {name}.',
|
||
'settings.mediaProviderPlaceholder': 'الصق مفتاح API',
|
||
'settings.mediaProviderBaseUrlPlaceholder': 'تجاوز رابط القاعدة الافتراضي',
|
||
'settings.mediaProviderReload': 'إعادة التحميل من الـ daemon المحلي',
|
||
'settings.mediaProviderReloadError': 'تعذر إعادة تحميل إعدادات موفري الوسائط من الـ daemon المحلي.',
|
||
'settings.mediaProviderReloadSuccess': 'تمت إعادة تحميل إعدادات موفري الوسائط من الـ daemon المحلي.',
|
||
'settings.mediaProviderLoadError': 'تعذر تحميل إعدادات موفري الوسائط من الـ daemon المحلي. سيُستخدم مؤقتًا ما هو محفوظ في المتصفح.',
|
||
'settings.privacy': 'Privacy',
|
||
'settings.privacyHint': 'What data is shared with the Open Design team',
|
||
'settings.privacyConsentKicker': 'Help us improve Open Design',
|
||
'settings.privacyConsentLead': 'Open Design can share usage data with our team to help us improve. This includes:',
|
||
'settings.privacyConsentFooter': 'You can change either of these any time in Settings → Privacy. We never upload the contents of your generated artifact files.',
|
||
'settings.privacyConsentShare': 'Help improve',
|
||
'settings.privacyConsentDecline': 'Not now',
|
||
'settings.privacyMetrics': 'Anonymous metrics',
|
||
'settings.privacyMetricsHint': 'Run counts, token usage, error rate, duration. No prompts, no project data.',
|
||
'settings.privacyContent': 'Conversation content',
|
||
'settings.privacyContentHint': "Your prompts and the assistant's responses (truncated 8 KB / 16 KB). API keys, tokens, JWTs, emails, IPs, and credit-card numbers are stripped automatically before send.",
|
||
'settings.privacyArtifacts': 'Project artifacts manifest',
|
||
'settings.privacyArtifactsHint': 'Filenames, types, sizes of generated files. File contents are never sent.',
|
||
'settings.privacyInstallationId': 'Anonymous ID',
|
||
'settings.privacyOptedOut': 'opted out',
|
||
'settings.privacyDataDeletion': 'Delete my data',
|
||
'settings.privacyDataDeletionHint': 'Rotates your anonymous ID and stops sending. Existing traces age out under our retention policy.',
|
||
'settings.about': 'حول',
|
||
'settings.aboutHint': 'تفاصيل النسخة ووقت التشغيل',
|
||
'settings.appVersion': 'النسخة',
|
||
'settings.appChannel': 'القناة',
|
||
'settings.appRuntime': 'وقت التشغيل',
|
||
'settings.appPlatform': 'المنصة',
|
||
'settings.appArchitecture': 'المعمارية',
|
||
'settings.runtimePackaged': 'تطبيق معبأ',
|
||
'settings.runtimeDevelopment': 'تطوير',
|
||
'settings.versionUnavailable': 'تفاصيل النسخة غير متوفرة بينما البرنامج الخفي غير متصل.',
|
||
|
||
'entry.tabDesigns': 'التصاميم',
|
||
'entry.tabTemplates': 'قوالب',
|
||
'entry.tabDesignSystems': 'أنظمة التصميم',
|
||
'entry.tabConnectors': 'الموصلات',
|
||
'entry.openSettingsTitle': 'الإعدادات',
|
||
'entry.openSettingsAria': 'فتح الإعدادات',
|
||
'entry.resizeAria': 'تغيير حجم الشريط الجانبي',
|
||
'entry.loadingWorkspace': 'جاري تحميل مساحة العمل...',
|
||
'entry.tabImageTemplates': 'قوالب الصور',
|
||
'entry.tabVideoTemplates': 'قوالب الفيديو',
|
||
'promptTemplates.searchPlaceholder': 'بحث في القوالب...',
|
||
'promptTemplates.countLabel': '{n} نتائج',
|
||
'promptTemplates.emptyImage': 'لم يتم تثبيت قوالب صور بعد.',
|
||
'promptTemplates.emptyVideo': 'لم يتم تثبيت قوالب فيديو بعد.',
|
||
'promptTemplates.emptyNoMatch': 'لا توجد قوالب تطابق بحثك.',
|
||
'promptTemplates.allSources': 'جميع المصادر',
|
||
'promptTemplates.sourceFilterAria': 'تصفية حسب المصدر',
|
||
'promptTemplates.attributionFooter': 'مقتبس من مكتبات الأوامر العامة. كل بطاقة تشير إلى المؤلف الأصلي.',
|
||
'promptTemplates.openPreviewTitle': 'فتح الأمر والمعاينة',
|
||
'promptTemplates.sourcePrefix': 'المصدر:',
|
||
'promptTemplates.fetchError': 'تعذر تحميل جسم هذا القالب.',
|
||
'promptTemplates.promptLabel': 'جسم الأمر',
|
||
'promptTemplates.copyPrompt': 'نسخ الأمر',
|
||
'promptTemplates.copyDone': 'تم النسخ!',
|
||
'promptTemplates.modelHint': 'النموذج المقترح: {model}',
|
||
'promptTemplates.openSource': 'عرض الأصلي',
|
||
'promptTemplates.openFullscreen': 'فتح معاينة بملء الشاشة',
|
||
'promptTemplates.closeFullscreen': 'إغلاق معاينة بملء الشاشة',
|
||
'promptTemplates.retry': 'إعادة المحاولة',
|
||
|
||
'connectors.title': 'الموصلات',
|
||
'connectors.subtitle': 'مصادر بيانات محلية وقادمة يمكنها تشغيل العناصر الحية.',
|
||
'connectors.account': 'الحساب',
|
||
'connectors.noAccount': 'غير متصل',
|
||
'connectors.tools': 'الأدوات',
|
||
'connectors.connect': 'اتصال',
|
||
'connectors.disconnect': 'قطع الاتصال',
|
||
'connectors.authorizationPending': 'بانتظار التفويض...',
|
||
'connectors.authorizationPendingHint': 'أكمل التفويض في النافذة المفتوحة.',
|
||
'connectors.cancelAuthorization': 'إلغاء',
|
||
'connectors.configure': 'إعداد',
|
||
'connectors.unavailable': 'غير متاح',
|
||
'connectors.phaseStubTitle': 'واجهات الموصلات ستصل في المرحلة 3؛ هذه مجرد واجهة معاينة.',
|
||
'connectors.statusAvailable': 'متاح',
|
||
'connectors.statusConnected': 'متصل',
|
||
'connectors.statusError': 'خطأ',
|
||
'connectors.statusDisabled': 'معطل',
|
||
'connectors.gateTitle': 'أضف مفتاح Composio API للمتابعة',
|
||
'connectors.gateBody': 'الصق المفتاح أعلاه واضغط حفظ المفتاح لتحميل التكاملات المتاحة.',
|
||
'connectors.aboutLabel': 'حول',
|
||
'connectors.detailsLabel': 'التفاصيل',
|
||
'connectors.statusLabel': 'الحالة',
|
||
'connectors.category.aiAgents': 'وكلاء AI',
|
||
'connectors.category.aiInfrastructure': 'بنية AI التحتية',
|
||
'connectors.category.accounting': 'المحاسبة',
|
||
'connectors.category.admin': 'الإدارة',
|
||
'connectors.category.advertising': 'الإعلانات',
|
||
'connectors.category.analytics': 'التحليلات',
|
||
'connectors.category.automation': 'الأتمتة',
|
||
'connectors.category.cms': 'CMS',
|
||
'connectors.category.crm': 'CRM',
|
||
'connectors.category.calendar': 'التقويم',
|
||
'connectors.category.commerce': 'التجارة',
|
||
'connectors.category.communication': 'التواصل',
|
||
'connectors.category.contacts': 'جهات الاتصال',
|
||
'connectors.category.dataPlatform': 'منصة البيانات',
|
||
'connectors.category.database': 'قاعدة البيانات',
|
||
'connectors.category.design': 'التصميم',
|
||
'connectors.category.developer': 'أدوات المطورين',
|
||
'connectors.category.documentation': 'التوثيق',
|
||
'connectors.category.erp': 'ERP',
|
||
'connectors.category.education': 'التعليم',
|
||
'connectors.category.email': 'البريد الإلكتروني',
|
||
'connectors.category.events': 'الأحداث',
|
||
'connectors.category.fieldService': 'الخدمة الميدانية',
|
||
'connectors.category.finance': 'المالية',
|
||
'connectors.category.fitness': 'اللياقة',
|
||
'connectors.category.forms': 'النماذج',
|
||
'connectors.category.gaming': 'الألعاب',
|
||
'connectors.category.hr': 'الموارد البشرية',
|
||
'connectors.category.hospitality': 'الضيافة',
|
||
'connectors.category.itsm': 'ITSM',
|
||
'connectors.category.integration': 'التكامل',
|
||
'connectors.category.localization': 'التوطين',
|
||
'connectors.category.logistics': 'اللوجستيات',
|
||
'connectors.category.maps': 'الخرائط',
|
||
'connectors.category.marketing': 'التسويق',
|
||
'connectors.category.media': 'الوسائط',
|
||
'connectors.category.meetings': 'الاجتماعات',
|
||
'connectors.category.nonprofit': 'غير ربحي',
|
||
'connectors.category.observability': 'قابلية المراقبة',
|
||
'connectors.category.payments': 'المدفوعات',
|
||
'connectors.category.personal': 'شخصي',
|
||
'connectors.category.presentations': 'العروض التقديمية',
|
||
'connectors.category.procurement': 'المشتريات',
|
||
'connectors.category.product': 'المنتج',
|
||
'connectors.category.productivity': 'الإنتاجية',
|
||
'connectors.category.projectManagement': 'إدارة المشاريع',
|
||
'connectors.category.recruiting': 'التوظيف',
|
||
'connectors.category.research': 'البحث',
|
||
'connectors.category.salesIntelligence': 'ذكاء المبيعات',
|
||
'connectors.category.scheduling': 'الجدولة',
|
||
'connectors.category.search': 'البحث',
|
||
'connectors.category.security': 'الأمان',
|
||
'connectors.category.signing': 'التوقيع',
|
||
'connectors.category.social': 'اجتماعي',
|
||
'connectors.category.spreadsheets': 'جداول البيانات',
|
||
'connectors.category.storage': 'التخزين',
|
||
'connectors.category.support': 'الدعم',
|
||
'connectors.category.surveys': 'الاستبيانات',
|
||
'connectors.category.tasks': 'المهام',
|
||
'connectors.category.timeTracking': 'تتبع الوقت',
|
||
'connectors.category.video': 'الفيديو',
|
||
'connectors.category.whiteboard': 'السبورة',
|
||
'connectors.categoryLabel': 'الفئة',
|
||
'connectors.providerLabel': 'المزوّد',
|
||
'connectors.toolsSection': 'الأدوات',
|
||
'connectors.toolsLoading': 'جارٍ تحميل الأدوات…',
|
||
'connectors.noToolsAvailable': 'لا توجد أدوات متاحة بعد. بعد الاتصال ستظهر إمكانات هذا التكامل.',
|
||
'connectors.toolDetailsUnavailable': 'Tool details are unavailable, but this connector reports {n} tools.',
|
||
'connectors.loadMoreTools': 'Load more tools',
|
||
'connectors.openDetailsAria': 'فتح تفاصيل {name}',
|
||
'connectors.toolsBadgeNone': 'لا أدوات',
|
||
'connectors.toolsBadgeOne': '{n} أداة',
|
||
'connectors.toolsBadgeMany': '{n} أدوات',
|
||
'connectors.searchPlaceholder': 'ابحث في الموصلات…',
|
||
'connectors.searchAriaLabel': 'ابحث في الموصلات حسب الاسم أو المزوّد أو الأداة',
|
||
'connectors.searchClear': 'مسح البحث',
|
||
'connectors.emptyNoMatchTitle': 'لا توجد موصلات تطابق “{query}”',
|
||
'connectors.emptyNoMatchBody': 'جرّب كلمة مفتاحية أخرى أو امسح البحث لعرض القائمة الكاملة.',
|
||
'connectors.emptyNoMatchAction': 'مسح البحث',
|
||
|
||
'newproj.tabPrototype': 'نموذج أولي',
|
||
'newproj.tabDeck': 'عرض تقديمي',
|
||
'newproj.tabTemplate': 'من قالب',
|
||
'newproj.tabOther': 'آخر',
|
||
'newproj.titlePrototype': 'نموذج أولي جديد',
|
||
'newproj.titleDeck': 'عرض تقديمي جديد',
|
||
'newproj.titleTemplate': 'ابدأ من قالب',
|
||
'newproj.titleImage': 'صورة جديدة',
|
||
'newproj.titleVideo': 'فيديو جديد',
|
||
'newproj.titleAudio': 'صوت جديد',
|
||
'newproj.titleOther': 'مشروع جديد',
|
||
'newproj.namePlaceholder': 'اسم المشروع',
|
||
'newproj.fidelityLabel': 'الدقة',
|
||
'newproj.fidelityWireframe': 'رسم تخطيطي',
|
||
'newproj.fidelityHigh': 'دقة عالية',
|
||
'newproj.toggleSpeakerNotes': 'استخدم ملاحظات المتحدث',
|
||
'newproj.toggleSpeakerNotesHint': 'نص أقل على الشرائح - احتفظ بنقاط الحديث في الملاحظات.',
|
||
'newproj.toggleAnimations': 'تضمين الرسوم المتحركة',
|
||
'newproj.toggleAnimationsHint':
|
||
'أضف الحركة (دخول، تحويم، انتقالات) فوق القالب.',
|
||
'newproj.templateLabel': 'القالب',
|
||
'newproj.noTemplatesTitle': 'لا توجد قوالب بعد',
|
||
'newproj.noTemplatesBody':
|
||
'افتح أي مشروع، ثم استخدم قائمة المشاركة داخل عارض الملفات لتحويله إلى قالب. ستظهر القوالب هنا.',
|
||
'newproj.savedTemplate': 'قالب محفوظ',
|
||
'newproj.fileSingular': 'ملف',
|
||
'newproj.filePlural': 'ملفات',
|
||
'newproj.create': 'إنشاء',
|
||
'newproj.createFromTemplate': 'إنشاء من قالب',
|
||
'newproj.createDisabledTitle':
|
||
'احفظ مشروعاً كقالب أولاً (قائمة المشاركة داخل أي مشروع).',
|
||
'newproj.importClaudeZip': 'استيراد ZIP من Claude Design',
|
||
'newproj.importClaudeZipTitle': 'استيراد تصدير .zip من Claude Design',
|
||
'newproj.importingClaudeZip': 'جاري الاستيراد...',
|
||
'newproj.privacyFooter': 'أنت فقط من يمكنه رؤية مشروعك افتراضياً.',
|
||
'newproj.designSystem': 'نظام التصميم',
|
||
'newproj.dsNoneFreeform': 'لا يوجد - شكل حر',
|
||
'newproj.dsNoneSubtitleEmpty': 'لا توجد رموز نظام، اختر لوحة الألوان الخاصة بك',
|
||
'newproj.dsNoneSubtitleSelected': 'تخطي رموز النظام. يختار الوكيل لوحة الألوان الخاصة به.',
|
||
'newproj.dsCategoryFallback': 'نظام التصميم',
|
||
'newproj.dsSearch': 'بحث في أنظمة التصميم...',
|
||
'newproj.dsModeAria': 'وضع الاختيار',
|
||
'newproj.dsModeSingle': 'فردي',
|
||
'newproj.dsModeMulti': 'متعدد',
|
||
'newproj.dsNoneTitle': 'لا يوجد - شكل حر',
|
||
'newproj.dsNoneSub': 'تخطي رموز النظام. يختار الوكيل لوحة الألوان الخاصة به.',
|
||
'newproj.dsEmpty': 'لا توجد أنظمة تصميم تطابق "{query}".',
|
||
'newproj.dsFootSingular': 'للإلهام فقط.',
|
||
'newproj.dsFootPlural': 'للإلهام فقط.',
|
||
'newproj.dsFootClear': 'مسح',
|
||
'newproj.dsBadgeDefault': 'افتراضي',
|
||
'newproj.dsPrimaryFallback': 'أساسي',
|
||
'newproj.surfaceImage': 'صورة',
|
||
'newproj.surfaceVideo': 'فيديو',
|
||
'newproj.surfaceAudio': 'صوت',
|
||
'newproj.modelLabel': 'النموذج',
|
||
'newproj.aspectLabel': 'الأبعاد',
|
||
'newproj.imageStyleLabel': 'ملاحظات الأسلوب',
|
||
'newproj.imageStylePlaceholder': 'صورة تحريرية، ضوء نهار ناعم، لوحة ألوان هادئة',
|
||
'newproj.videoLengthLabel': 'الطول',
|
||
'newproj.videoLengthSeconds': '{n} ثا',
|
||
'newproj.audioKindLabel': 'نوع الصوت',
|
||
'newproj.audioKindMusic': 'موسيقى',
|
||
'newproj.audioKindSpeech': 'كلام / TTS',
|
||
'newproj.audioKindSfx': 'تأثيرات صوتية',
|
||
'newproj.audioDurationLabel': 'المدة',
|
||
'newproj.audioDurationSeconds': '{n} ثا',
|
||
'newproj.voiceLabel': 'الصوت',
|
||
'newproj.voicePlaceholder': 'معرف صوت المزود، اختياري',
|
||
'newproj.connectorsLabel': 'الموصلات',
|
||
'newproj.connectorsHint': 'مصادر البيانات التي يمكن لهذا العنصر استخدامها.',
|
||
'newproj.connectorsEmptyTitle': 'لا توجد موصلات مُعدّة',
|
||
'newproj.connectorsEmptyBody': 'صِل مصدر بيانات حتى يستخدم العنصر الحي بيانات حقيقية بدل العناصر النائبة.',
|
||
'newproj.connectorsEmptyCta': 'إعداد الموصلات ←',
|
||
'newproj.connectorsLoading': 'جارٍ تحميل الموصلات…',
|
||
'newproj.connectorsCountOne': '{n} متصل',
|
||
'newproj.connectorsCountMany': '{n} متصل',
|
||
'newproj.connectorsManage': 'إدارة',
|
||
'newproj.promptTemplateLabel': 'قالب مرجعي',
|
||
'newproj.promptTemplateNoneTitle': 'لا يوجد - اكتب خاصتك',
|
||
'newproj.promptTemplateNoneSub': 'تخطي المعرض، صف موجزك الخاص',
|
||
'newproj.promptTemplateRefSub': 'قالب مرجعي',
|
||
'newproj.promptTemplateSearch': 'بحث في القوالب...',
|
||
'newproj.promptTemplateEmpty': 'لم يتم تثبيت قوالب لهذه السطح بعد.',
|
||
'newproj.promptTemplateBodyLabel': 'الأمر (يمكنك ضبطه)',
|
||
'newproj.promptTemplateOptimizeHint':
|
||
'عدل أي شيء - تغييراتك تنتقل إلى موجز الوكيل.',
|
||
'newproj.promptTemplateBodyEmpty':
|
||
'جسم فارغ - لن يحصل الوكيل على مرجع قالب.',
|
||
|
||
'designs.subRecent': 'الأخيرة',
|
||
'designs.subYours': 'تصاميمك',
|
||
'designs.filterAria': 'تصفية المشاريع',
|
||
'designs.searchPlaceholder': 'بحث...',
|
||
'designs.emptyNoProjects': 'لا توجد مشاريع بعد. أنشئ واحداً على اليسار.',
|
||
'designs.emptyNoMatch': 'لا توجد مشاريع تطابق بحثك.',
|
||
'designs.deleteTitle': 'حذف المشروع',
|
||
'designs.deleteConfirm': 'هل تريد حذف "{name}"؟',
|
||
'designs.cardFreeform': 'شكل حر',
|
||
'designs.status.notStarted': 'لم يبدأ',
|
||
'designs.status.queued': 'في الانتظار',
|
||
'designs.status.running': 'جاري التشغيل',
|
||
'designs.status.awaitingInput': 'يحتاج مدخلات',
|
||
'designs.status.succeeded': 'اكتمل',
|
||
'designs.status.failed': 'فشل',
|
||
'designs.status.canceled': 'ملغى',
|
||
'designs.viewToggleAria': 'وضع العرض',
|
||
'designs.viewGrid': 'عرض الشبكة',
|
||
'designs.viewKanban': 'عرض اللوحة',
|
||
'designs.kanbanEmptyColumn': 'لا توجد تصاميم',
|
||
'designs.deleteAria': 'حذف المشروع {name}',
|
||
|
||
'examples.typeLabel': 'النوع',
|
||
'examples.surfaceLabel': 'السطح',
|
||
'examples.surfaceWeb': 'ويب',
|
||
'examples.surfaceImage': 'صورة',
|
||
'examples.surfaceVideo': 'فيديو',
|
||
'examples.surfaceAudio': 'صوت',
|
||
'examples.scenarioLabel': 'السيناريو',
|
||
'examples.modeAll': 'الكل',
|
||
'examples.modePrototypeDesktop': 'نماذج أولية · سطح المكتب',
|
||
'examples.modePrototypeMobile': 'نماذج أولية · الجوال',
|
||
'examples.modeDeck': 'شرائح',
|
||
'examples.modeDocument': 'مستندات وقوالب',
|
||
'examples.modeOrbit': 'Orbit',
|
||
'examples.modeLive': 'مباشر',
|
||
'examples.scenarioGeneral': 'عام',
|
||
'examples.scenarioEngineering': 'هندسة',
|
||
'examples.scenarioProduct': 'منتج',
|
||
'examples.scenarioDesign': 'تصميم',
|
||
'examples.scenarioMarketing': 'تسويق',
|
||
'examples.scenarioSales': 'مبيعات',
|
||
'examples.scenarioFinance': 'مالية',
|
||
'examples.scenarioHr': 'موارد بشرية',
|
||
'examples.scenarioOperations': 'عمليات',
|
||
'examples.scenarioSupport': 'دعم',
|
||
'examples.scenarioLegal': 'قانوني',
|
||
'examples.scenarioEducation': 'تعليم',
|
||
'examples.scenarioPersonal': 'شخصي',
|
||
'examples.emptyNoSkills': 'لا توجد مهارات متوفرة. هل البرنامج الخفي يعمل؟',
|
||
'examples.searchPlaceholder': 'بحث في الأمثلة...',
|
||
'examples.searchAria': 'بحث في الأمثلة بالاسم',
|
||
'examples.emptyNoMatch': 'لا توجد أمثلة تطابق هذه الفلاتر.',
|
||
'examples.openPreview': '⤢ فتح المعاينة',
|
||
'examples.loadingPreview': 'جاري تحميل المعاينة...',
|
||
'examples.hoverPreview': 'حوم للمعاينة',
|
||
'examples.usePrompt': 'استخدم هذا الأمر',
|
||
'examples.previewModalTitle': 'فتح المعاينة الكاملة (نافذة)',
|
||
'examples.shareTitle': 'مشاركة هذا المثال',
|
||
'examples.shareLoadFirst': 'حوم لتحميل المعاينة أولاً',
|
||
'examples.unavailablePlaceholder': 'لا توجد معاينة {kind} مرفقة — افتح لمعرفة المزيد',
|
||
'examples.shareUnavailable': 'لا توجد معاينة {kind} مرفقة للمشاركة',
|
||
'examples.shareMenu': 'مشاركة ▾',
|
||
'examples.exportPdfAllSlides': 'تصدير كـ PDF (كل الشرائح)',
|
||
'examples.exportPptxLocked': 'تصدير كـ PPTX... (افتح القالب أولاً)',
|
||
'examples.tagSlideDeck': 'عرض تقديمي',
|
||
'examples.tagTemplate': 'قالب',
|
||
'examples.tagDesignSystem': 'نظام تصميم',
|
||
'examples.tagMobilePrototype': 'نموذج أولي للجوال',
|
||
'examples.tagDesktopPrototype': 'نموذج أولي لسطح المكتب',
|
||
'examples.tagImage': 'صورة',
|
||
'examples.tagVideo': 'فيديو',
|
||
'examples.tagAudio': 'صوت',
|
||
'examples.previewLabel': 'معاينة',
|
||
|
||
'ds.surfaceLabel': 'السطح',
|
||
'ds.surfaceWeb': 'ويب',
|
||
'ds.surfaceImage': 'صورة',
|
||
'ds.surfaceVideo': 'فيديو',
|
||
'ds.surfaceAudio': 'صوت',
|
||
'ds.searchPlaceholder': 'بحث في أنظمة التصميم...',
|
||
'ds.emptyNoMatch': 'لا توجد أنظمة تصميم تطابق بحثك.',
|
||
'ds.badgeDefault': 'افتراضي',
|
||
'ds.preview': 'معاينة',
|
||
'ds.previewTitle': 'معاينة نظام التصميم',
|
||
'ds.categoryAll': 'الكل',
|
||
'ds.categoryUncategorized': 'غير مصنف',
|
||
'ds.showcase': 'عرض',
|
||
'ds.tokens': 'الرموز',
|
||
'ds.specToggle': 'DESIGN.md',
|
||
'ds.specLoading': 'جاري تحميل DESIGN.md...',
|
||
|
||
'avatar.title': 'الحساب والإعدادات',
|
||
'avatar.localCli': 'CLI محلي',
|
||
'avatar.anthropicApi': 'Anthropic API',
|
||
'avatar.useLocal': 'استخدام CLI محلي',
|
||
'avatar.useApi': 'استخدام API · BYOK',
|
||
'avatar.codeAgent': 'وكيل الكود',
|
||
'avatar.rescan': 'إعادة مسح PATH',
|
||
'avatar.settings': 'الإعدادات',
|
||
'avatar.backToProjects': 'العودة للمشاريع',
|
||
'avatar.metaActive': 'نشط',
|
||
'avatar.metaOffline': 'غير متصل',
|
||
'avatar.metaSelected': 'محدد',
|
||
'avatar.noAgentSelected': 'لم يتم اختيار وكيل',
|
||
'avatar.modelSection': 'النموذج',
|
||
'avatar.modelLabel': 'النموذج',
|
||
'avatar.reasoningLabel': 'التفكير',
|
||
'avatar.customSuffix': '(مخصص)',
|
||
|
||
'project.backToProjects': 'العودة للمشاريع',
|
||
'project.metaFreeform': 'شكل حر',
|
||
'project.resizeChatPanel': 'تغيير حجم لوحة الدردشة',
|
||
'chat.tabChat': 'دردشة',
|
||
'chat.tabComments': 'تعليقات',
|
||
'chat.commentsSoon': 'التعليقات - قريباً',
|
||
'chat.comments.attached': 'مرفق بالدردشة',
|
||
'chat.comments.emptyAttached': 'لا توجد تعليقات مرفقة.',
|
||
'chat.comments.saved': 'تعليقات محفوظة',
|
||
'chat.comments.emptySaved': 'لا توجد تعليقات محفوظة.',
|
||
'chat.comments.add': 'إضافة',
|
||
'chat.comments.addAll': 'إضافة الكل',
|
||
'chat.comments.remove': 'إزالة',
|
||
'chat.comments.placeholder': 'علق على هذا العنصر...',
|
||
'chat.comments.addSend': 'إضافة وإرسال',
|
||
'chat.comments.updateSend': 'تحديث وإرسال',
|
||
'chat.comments.removeAttachment': 'إزالة مرفق التعليق',
|
||
'chat.comments.removeAttachmentAria': 'إزالة مرفق التعليق لـ {name}',
|
||
'chat.conversationsTitle': 'المحادثات',
|
||
'chat.conversationsAria': 'سجل المحادثات',
|
||
'chat.newConversation': 'محادثة جديدة',
|
||
'chat.newConversationsTitle': 'محادثة جديدة',
|
||
'chat.conversationsHeading': 'المحادثات',
|
||
'chat.new': 'جديد',
|
||
'chat.emptyConversations': 'لا توجد محادثات بعد.',
|
||
'chat.deleteConversation': 'حذف المحادثة',
|
||
'chat.deleteConversationConfirm':
|
||
'هل تريد حذف "{title}"؟ سيؤدي هذا لإزالة رسائلها.',
|
||
'chat.untitledConversation': 'محادثة بدون عنوان',
|
||
'chat.startTitle': 'ابدأ محادثة',
|
||
'chat.startHint':
|
||
'اسحب وأفلت الصور للمرجع البصري، أو اكتب @ لإرفاق ملف من هذا المشروع. أو جرب أحد هذه البدايات:',
|
||
'chat.fillInputTitle': 'اضغط لملء المدخلات',
|
||
'chat.jumpToLatest': 'انتقال للأحدث',
|
||
'chat.scrollToLatest': 'التمرير للأحدث',
|
||
'chat.you': 'أنت',
|
||
'chat.openFile': 'فتح {name}',
|
||
'chat.composerPlaceholder':
|
||
'صف التصميم الذي تريده - الصق أو اسحب الصور، أو @ لملف أو مهارة...',
|
||
'chat.composerHint':
|
||
'⌘/Ctrl + Enter للإرسال · الصق الصور · @ للملفات أو المهارات · / للأوامر',
|
||
'chat.cliSettingsTitle': 'إعدادات CLI والنموذج',
|
||
'chat.cliSettingsAria': 'فتح إعدادات CLI والنموذج',
|
||
'chat.attachTitle': 'إرفاق ملفات (أو الصق / اسحب)',
|
||
'chat.attachAria': 'إرفاق ملفات',
|
||
'chat.importTitle': 'استيراد المصادر (قريباً)',
|
||
'chat.importLabel': 'استيراد',
|
||
'chat.importComingSoon': 'قريباً',
|
||
'chat.importSoon': 'قريباً',
|
||
'chat.importFig': 'رفع ملف .fig',
|
||
'chat.importGitHub': 'ربط GitHub',
|
||
'chat.importWeb': 'جلب عنصر ويب',
|
||
'chat.importFolder': 'ربط مجلد كود',
|
||
'chat.importSkills': 'المهارات وأنظمة التصميم',
|
||
'chat.importProject': 'Reference another project',
|
||
'chat.linkedFolderRemoveAria': 'إزالة المجلد المرتبط {path}',
|
||
'chat.linkedFolderNotFound': 'المجلد غير موجود',
|
||
'chat.linkedFolderAlready': 'هذا المجلد مرتبط بالفعل',
|
||
'chat.linkedFolderPickError': 'تعذر فتح منتقي المجلدات',
|
||
'chat.send': 'إرسال',
|
||
'chat.stop': 'إيقاف',
|
||
'chat.removeAria': 'إزالة {name}',
|
||
'chat.example1Title': 'عرض تقديمي تحريري',
|
||
'chat.example1Tag': 'مجلة',
|
||
'chat.example1Prompt':
|
||
'عرض تقديمي تحريري من 10 شرائح لاستوديو تصميم يجمع تمويلاً - تخطيط شبكة سويسرية، عناوين عريضة مع أحرف استهلالية بارزة، أرقام أقسام أحادية المسافة، مساحات سلبية سخية، وشرائح صور بملء الشاشة تتخللها شرائح نصية مكثفة. الغلاف، الرؤية، السوق، المنتج، الزخم، الفريق، الطلب، الاتصال.',
|
||
'chat.example2Title': 'لوحة تحكم تحليلات SaaS',
|
||
'chat.example2Tag': 'بيانات',
|
||
'chat.example2Prompt':
|
||
'لوحة تحكم تحليلات مكثفة لـ SaaS لأدوات المطورين - شريط KPI مع التغييرات الأسبوعية، مخططان خطيان متراكمان (MRR ومساحات العمل النشطة)، خريطة حرارية عالمية للاستخدام، شبكة احتفاظ بالمجموعات، لوحة صدارة لكبار العملاء، وخلاصة أحداث فورية. سمة داكنة، أرقام أحادية المسافة، تأثيرات sparkline.',
|
||
'chat.example3Title': 'تقرير سنوي بالتمرير الطويل',
|
||
'chat.example3Tag': 'تحريري',
|
||
'chat.example3Prompt':
|
||
'تقرير سنوي تفاعلي لمنظمة مناخية غير ربحية - تخطيط تحريري بالتمرير الطويل يمزج بين كتل الاقتباسات الكبيرة، تصورات البيانات (أعمدة متراكمة، عدادات متحركة، خريطة لمواقع المشاريع)، فواصل صور، جدار المتبرعين، ودعوة نهائية للعمل. خط متن حديث، تسميات مخططات sans-serif، لوحة ألوان ورقية ترابية.',
|
||
|
||
'preview.shareMenu': 'مشاركة ▾',
|
||
'preview.openInNewTab': 'فتح في علامة تبويب جديدة',
|
||
'preview.exit': '⤓ خروج',
|
||
'preview.fullscreen': '⤢ ملء الشاشة',
|
||
'preview.closeTitle': 'إغلاق (Esc)',
|
||
'preview.loading': 'جاري تحميل {label}...',
|
||
'preview.errorTitle': 'تعذّر تحميل هذا المثال.',
|
||
'preview.errorBody': 'فشل جلب HTML الخاص بالمثال. تأكد من تشغيل Open Design ثم أعد المحاولة.',
|
||
'preview.retry': 'إعادة المحاولة',
|
||
'preview.unavailableTitle': 'لا توجد معاينة مرفقة لهذه المهارة.',
|
||
'preview.unavailableBody': 'هذه المهارة تنتج مخرجات {kind} — شغّل الأمر في المحادثة لإنشاء واحدة.',
|
||
'preview.showSidebar': 'إظهار {label}',
|
||
'preview.hideSidebar': 'إخفاء {label}',
|
||
|
||
'misc.savedTemplate': 'قالب محفوظ',
|
||
'misc.primary': 'أساسي',
|
||
'misc.designSystem': 'نظام تصميم',
|
||
|
||
'workspace.designFiles': 'ملفات التصميم',
|
||
'workspace.focusMode': 'Focus workspace',
|
||
'workspace.showChat': 'Show chat',
|
||
'workspace.closeTab': 'إغلاق علامة التبويب',
|
||
'workspace.deleteFileConfirm': 'حذف "{name}" من مجلد المشروع؟',
|
||
'workspace.deleteSelectedFilesConfirm': 'حذف {n} ملف(ات) محددة من مجلد المشروع؟',
|
||
'workspace.deleteSelectedFilesPartial': 'فشل حذف {n} ملف(ات).',
|
||
'workspace.openFromDesignFiles': 'فتح ملف من',
|
||
'workspace.designFilesLink': 'ملفات التصميم',
|
||
'workspace.loadingSketch': 'جاري تحميل الرسم...',
|
||
'designFiles.title': 'ملفات التصميم',
|
||
'designFiles.upload': 'رفع ملفات',
|
||
'designFiles.pasteText': 'لصق كملف نصي',
|
||
'designFiles.newSketch': 'رسم جديد',
|
||
'designFiles.empty': 'ستظهر الإبداعات هنا',
|
||
'designFiles.refresh': 'تحديث',
|
||
'designFiles.delete': 'حذف',
|
||
'designFiles.deleteSelected': 'حذف {n}',
|
||
'designFiles.searchPlaceholder': 'بحث في الملفات...',
|
||
'designFiles.up': 'للأعلى',
|
||
'designFiles.back': 'رجوع',
|
||
'designFiles.crumbs': 'مشروع',
|
||
'designFiles.rowMenu': 'قائمة الصف',
|
||
'designFiles.openInTab': 'فتح في علامة تبويب',
|
||
'designFiles.download': 'تحميل',
|
||
'designFiles.downloadSelected': 'تنزيل {n} كـ ZIP',
|
||
'designFiles.clearSelection': 'مسح التحديد',
|
||
'designFiles.selectPage': 'تحديد الكل في الصفحة',
|
||
'designFiles.selectAll': 'تحديد الكل',
|
||
'designFiles.dropTitle': '⤓ أسقط الملفات هنا',
|
||
'designFiles.dropDesc':
|
||
'الصور، المستندات، المراجع، أو المجلدات - سيستخدمها الوكيل كسياق.',
|
||
'designFiles.upload.title': 'رفع ملفات',
|
||
'designFiles.paste.title': 'لصق نص كملف',
|
||
'designFiles.upload.label': 'رفع',
|
||
'designFiles.paste.label': 'لصق',
|
||
'designFiles.previewOpen': 'فتح',
|
||
'designFiles.previewClose': 'إغلاق المعاينة',
|
||
'designFiles.modified': 'تم التعديل {time} · {size}',
|
||
'designFiles.weeksAgo': 'منذ {n} أسبوع',
|
||
'designFiles.groupBy': 'التجميع حسب',
|
||
'designFiles.groupByKind': 'النوع',
|
||
'designFiles.groupByModified': 'تاريخ التعديل',
|
||
'designFiles.expandGroup': 'توسيع',
|
||
'designFiles.collapseGroup': 'طي',
|
||
'designFiles.sectionPages': 'صفحات',
|
||
'designFiles.sectionScripts': 'سكربتات',
|
||
'designFiles.sectionImages': 'صور',
|
||
'designFiles.sectionSketches': 'رسومات',
|
||
'designFiles.sectionOther': 'أخرى',
|
||
'designFiles.modifiedToday': 'اليوم',
|
||
'designFiles.modifiedYesterday': 'أمس',
|
||
'designFiles.modifiedPrevious7Days': 'آخر 7 أيام',
|
||
'designFiles.modifiedPrevious30Days': 'آخر 30 يومًا',
|
||
'designFiles.modifiedOlder': 'أقدم',
|
||
'designFiles.showMore': 'عرض +{n} أخرى',
|
||
'designFiles.kindHtml': 'صفحة HTML',
|
||
'designFiles.kindImage': 'صورة',
|
||
'designFiles.kindSketch': 'رسم',
|
||
'designFiles.kindText': 'نص',
|
||
'designFiles.kindCode': 'سكربت',
|
||
'designFiles.kindPdf': 'PDF',
|
||
'designFiles.kindDocument': 'مستند',
|
||
'designFiles.kindPresentation': 'عرض تقديمي',
|
||
'designFiles.kindSpreadsheet': 'جدول بيانات',
|
||
'designFiles.kindBinary': 'ثنائي',
|
||
'designFiles.colName': 'الاسم',
|
||
'designFiles.colKind': 'النوع',
|
||
'designFiles.colModified': 'آخر تعديل',
|
||
'designFiles.perPage': 'عرض',
|
||
'designFiles.all': 'الكل',
|
||
'designFiles.prev': 'السابق',
|
||
'designFiles.next': 'التالي',
|
||
'designFiles.jumpToPage': 'انتقل إلى الصفحة',
|
||
'designFiles.pageInfo': '{start}–{end} من {total}',
|
||
'quickSwitcher.placeholder': 'فتح ملف…',
|
||
'quickSwitcher.empty': 'لا توجد ملفات في هذا المشروع',
|
||
'quickSwitcher.noMatches': 'لا توجد نتائج',
|
||
'quickSwitcher.navigate': 'تنقل',
|
||
'quickSwitcher.open': 'فتح',
|
||
'quickSwitcher.close': 'إغلاق',
|
||
'pasteDialog.title': 'لصق نص',
|
||
'pasteDialog.hint': 'يحفظ في مجلد المشروع. اختر أي اسم.',
|
||
'pasteDialog.fileNameLabel': 'اسم الملف',
|
||
'pasteDialog.namePlaceholder': 'notes.txt',
|
||
'pasteDialog.contentLabel': 'المحتوى',
|
||
'pasteDialog.contentPlaceholder': 'الصق أي شيء...',
|
||
'pasteDialog.save': 'حفظ',
|
||
'pasteDialog.cancel': 'إلغاء',
|
||
'sketch.save': 'حفظ الرسم',
|
||
'sketch.cancel': 'إلغاء',
|
||
'sketch.saving': 'جاري الحفظ...',
|
||
'sketch.tooltipDirty': 'تغييرات غير محفوظة',
|
||
'sketch.tooltipClean': 'تم الحفظ',
|
||
'fileViewer.empty': 'اختر ملفاً لعرضه.',
|
||
'fileViewer.loading': 'جاري التحميل...',
|
||
'fileViewer.exportPptx': 'تصدير كـ PPTX',
|
||
'fileViewer.openInNewTab': 'فتح في علامة تبويب جديدة',
|
||
'fileViewer.copyPath': 'نسخ المسار',
|
||
'fileViewer.copied': 'تم النسخ!',
|
||
'fileViewer.share': 'مشاركة',
|
||
'fileViewer.binaryMeta': 'ثنائي · {size}',
|
||
'fileViewer.binaryNote':
|
||
'ملف ثنائي ({size} بايت). حمله أو افتحه من القرص لفحصه.',
|
||
'fileViewer.pdfMeta': 'PDF · {size}',
|
||
'fileViewer.documentMeta': 'مستند',
|
||
'fileViewer.presentationMeta': 'عرض تقديمي',
|
||
'fileViewer.spreadsheetMeta': 'جدول بيانات',
|
||
'fileViewer.previewUnavailable': 'المعاينة غير متوفرة. حمل الملف أو افتحه لفحصه.',
|
||
'fileViewer.download': 'تحميل',
|
||
'fileViewer.open': 'فتح',
|
||
'fileViewer.imageMeta': 'صورة · {size}',
|
||
'fileViewer.reactMeta': 'مكون React · {size}',
|
||
'fileViewer.sketchMeta': 'رسم · {size}',
|
||
'fileViewer.markdownStreamingMeta': 'معاينة متدفقة...',
|
||
'fileViewer.markdownErrorMeta': 'قد تكون المعاينة غير مكتملة (خطأ في التوليد).',
|
||
'fileViewer.markdownStreamingStatus': 'تدفق... عرض ماركداون جزئي.',
|
||
'fileViewer.markdownErrorStatus': 'خطأ في التوليد. عرض آخر محتوى متوفر.',
|
||
'fileViewer.videoMeta': 'فيديو · {size}',
|
||
'fileViewer.audioMeta': 'صوت · {size}',
|
||
'fileViewer.reload': 'إعادة تحميل',
|
||
'fileViewer.reloadDisk': 'إعادة تحميل من القرص',
|
||
'fileViewer.copy': 'نسخ',
|
||
'fileViewer.copyTitle': 'نسخ محتويات الملف',
|
||
'fileViewer.saveDisabled': 'حفظ (عارض للقراءة فقط)',
|
||
'fileViewer.save': 'حفظ',
|
||
'fileViewer.preview': 'معاينة',
|
||
'fileViewer.source': 'المصدر',
|
||
'fileViewer.tweaks': 'تعديلات',
|
||
'fileViewer.comment': 'تعليق',
|
||
'fileViewer.edit': 'تعديل',
|
||
'fileViewer.draw': 'رسم',
|
||
'manualEdit.layers': "Layers",
|
||
'manualEdit.editableCount': "{count} editable",
|
||
'manualEdit.title': "Manual editor",
|
||
'manualEdit.selectLayer': "Select a layer",
|
||
'manualEdit.empty': "Click an element in the preview or choose a layer.",
|
||
'manualEdit.noClass': "no class",
|
||
'manualEdit.tabsAria': "Manual edit tabs",
|
||
'manualEdit.tabContent': "Content",
|
||
'manualEdit.tabStyle': "Style",
|
||
'manualEdit.tabAttributes': "Attributes",
|
||
'manualEdit.tabHtml': "Html",
|
||
'manualEdit.tabSource': "Source",
|
||
'manualEdit.attributesJson': "Attributes JSON",
|
||
'manualEdit.selectedHtml': "Selected element HTML",
|
||
'manualEdit.fullSource': "Full artifact source",
|
||
'manualEdit.applyContent': "Apply Content",
|
||
'manualEdit.applyStyle': "Apply Style",
|
||
'manualEdit.applyAttributes': "Apply Attributes",
|
||
'manualEdit.applyHtml': "Apply HTML",
|
||
'manualEdit.applySource': "Apply Source",
|
||
'manualEdit.invalidAttributes': "Invalid attributes JSON.",
|
||
'manualEdit.changes': "Changes",
|
||
'manualEdit.undo': "Undo",
|
||
'manualEdit.redo': "Redo",
|
||
'manualEdit.noChanges': "No manual edits yet.",
|
||
'manualEdit.imageUrl': "Image URL",
|
||
'manualEdit.altText': "Alt text",
|
||
'manualEdit.label': "Label",
|
||
'manualEdit.text': "Text",
|
||
'manualEdit.href': "Href",
|
||
'manualEdit.textColor': "Text color",
|
||
'manualEdit.background': "Background",
|
||
'manualEdit.fontSize': "Font size",
|
||
'manualEdit.weight': "Weight",
|
||
'manualEdit.align': "Align",
|
||
'manualEdit.padding': "Padding",
|
||
'manualEdit.margin': "Margin",
|
||
'manualEdit.radius': "Radius",
|
||
'manualEdit.border': "Border",
|
||
'manualEdit.width': "Width",
|
||
'manualEdit.minHeight': "Min height",
|
||
'fileViewer.zoomOut': 'تصغير',
|
||
'fileViewer.zoomIn': 'تكبير',
|
||
'fileViewer.resetZoom': 'إعادة تعيين الزوم',
|
||
'fileViewer.viewportAria': 'Preview viewport',
|
||
'fileViewer.viewportDesktop': 'Desktop',
|
||
'fileViewer.viewportDesktopTitle': 'Full-width desktop preview',
|
||
'fileViewer.viewportTablet': 'Tablet',
|
||
'fileViewer.viewportTabletTitle': 'Tablet preview at 820 × 1180 (modern portrait baseline)',
|
||
'fileViewer.viewportMobile': 'Mobile',
|
||
'fileViewer.viewportMobileTitle': 'Mobile preview at 390 × 844',
|
||
'fileViewer.reloadAria': 'إعادة تحميل',
|
||
'fileViewer.previousSlide': 'الشريحة السابقة',
|
||
'fileViewer.nextSlide': 'الشريحة التالية',
|
||
'fileViewer.slideNavAria': 'التنقل بين الشرائح',
|
||
'fileViewer.present': 'تقديم',
|
||
'fileViewer.presentInTab': 'في علامة التبويب هذه',
|
||
'fileViewer.presentFullscreen': 'ملء الشاشة',
|
||
'fileViewer.presentNewTab': 'علامة تبويب جديدة',
|
||
'fileViewer.exitPresentation': 'الخروج من العرض',
|
||
'fileViewer.shareLabel': 'مشاركة',
|
||
'fileViewer.exportPdf': 'تصدير كـ PDF',
|
||
'fileViewer.exportPdfAllSlides': 'تصدير كـ PDF (كل الشرائح)',
|
||
'fileViewer.exportPptxBusy': 'انتظر انتهاء الدور الحالي.',
|
||
'fileViewer.exportPptxHint':
|
||
'أرسل طلباً للوكيل لتحويل هذا التصميم إلى PPTX.',
|
||
'fileViewer.exportPptxNa': 'تصدير PPTX غير متوفر هنا.',
|
||
'fileViewer.exportZip': 'تحميل كـ zip.',
|
||
'fileViewer.exportHtml': 'تصدير كـ HTML مستقل',
|
||
'fileViewer.exportMd': 'تصدير كـ Markdown',
|
||
'fileViewer.exportJsx': 'تصدير كـ JSX',
|
||
'fileViewer.exportReactHtml': 'تصدير المعاينة كـ HTML',
|
||
'fileViewer.saveAsTemplate': 'حفظ كقالب...',
|
||
'fileViewer.savingTemplate': 'جاري حفظ القالب...',
|
||
'fileViewer.savedTemplate': 'تم الحفظ باسم "{name}"',
|
||
'fileViewer.savedTemplateFail': 'تعذر حفظ القالب - حاول مرة أخرى.',
|
||
'fileViewer.templateNamePrompt': 'اسم القالب',
|
||
'fileViewer.templateNameDefault': 'قالب بدون عنوان',
|
||
'fileViewer.templateDescPrompt':
|
||
'وصف قصير (اختياري - ما الذي يجعل هذا القالب مفيداً؟)',
|
||
'fileViewer.deployToVercel': 'النشر إلى Vercel',
|
||
'fileViewer.redeployToVercel': 'إعادة النشر',
|
||
'fileViewer.deployingToVercel': 'جارٍ النشر إلى Vercel…',
|
||
'fileViewer.deployProviderLabel': 'منصة النشر',
|
||
'fileViewer.vercelProvider': 'Vercel',
|
||
'fileViewer.cloudflarePagesProvider': 'Cloudflare Pages',
|
||
'fileViewer.deployToProvider': 'النشر إلى {provider}',
|
||
'fileViewer.redeployToProvider': 'إعادة النشر إلى {provider}',
|
||
'fileViewer.deployingToProvider': 'جارٍ النشر إلى {provider}…',
|
||
'fileViewer.preparingPublicLink': 'جاري تحضير الرابط العام...',
|
||
'fileViewer.copyDeployLink': 'نسخ الرابط',
|
||
'fileViewer.deployModalTitle': 'النشر',
|
||
'fileViewer.deployModalSubtitle': 'استخدم حساب منصة النشر المحددة لنشر معاينة HTML هذه.',
|
||
'fileViewer.vercelToken': 'رمز Vercel',
|
||
'fileViewer.vercelTokenGetLink': 'احصل على رمز Vercel',
|
||
'fileViewer.vercelTokenPlaceholder': 'الصق رمز Vercel الخاص بك',
|
||
'fileViewer.vercelTokenReuseHint': 'سيتم استخدام الرمز المحفوظ. أدخل رمزاً جديداً لاستبداله.',
|
||
'fileViewer.vercelTokenRequired': 'أدخل واحفظ رمز Vercel أولاً.',
|
||
'fileViewer.cloudflareApiToken': 'رمز Cloudflare API',
|
||
'fileViewer.cloudflareApiTokenGetLink': 'احصل على رمز Cloudflare API',
|
||
'fileViewer.cloudflareApiTokenPlaceholder': 'الصق رمز Cloudflare API الخاص بك',
|
||
'fileViewer.cloudflareApiTokenReuseHint': 'سيتم استخدام رمز Cloudflare API المحفوظ. أدخل رمزاً جديداً لاستبداله.',
|
||
'fileViewer.cloudflareApiTokenRequired': 'أدخل واحفظ رمز Cloudflare API أولاً.',
|
||
'fileViewer.cloudflareApiTokenScopeHint': 'Pages Edit is required for deploys. Zone Read is required to list domains. DNS Edit is only needed when binding a custom domain.',
|
||
'fileViewer.vercelTeamId': 'معرف الفريق',
|
||
'fileViewer.vercelTeamSlug': 'اسم الفريق اللطيف',
|
||
'fileViewer.cloudflareAccountId': 'معرف الحساب',
|
||
'fileViewer.cloudflareAccountIdHint': 'مطلوب. اعثر على معرف الحساب في لوحة Cloudflare.',
|
||
'fileViewer.cloudflareAccountIdRequired': 'أدخل واحفظ Cloudflare Account ID أولاً.',
|
||
'fileViewer.cloudflareZoneLabel': 'Domain',
|
||
'fileViewer.cloudflareZonePlaceholder': 'Save Cloudflare settings to load domains',
|
||
'fileViewer.cloudflareZoneRequired': 'Select a Cloudflare domain first.',
|
||
'fileViewer.cloudflareZonesLoading': 'Loading Cloudflare domains…',
|
||
'fileViewer.cloudflareZonesRefresh': 'Refresh domains',
|
||
'fileViewer.cloudflareZonesLoadFailed': 'Could not load Cloudflare domains.',
|
||
'fileViewer.cloudflareZonesEmpty': 'No active full Cloudflare domains were found for this account.',
|
||
'fileViewer.cloudflareDomainPrefixLabel': 'Subdomain prefix',
|
||
'fileViewer.cloudflareDomainPrefixPlaceholder': 'demo',
|
||
'fileViewer.cloudflareDomainPrefixInvalid': 'Use one DNS label only: lowercase letters, numbers, and hyphens.',
|
||
'fileViewer.cloudflareHostnamePreview': 'Custom domain preview: {hostname}',
|
||
'fileViewer.cloudflareCustomDomainHint': 'Optional: choose a Cloudflare domain and prefix to bind a custom subdomain. pages.dev will still be available.',
|
||
'fileViewer.cloudflarePagesDevLinkLabel': 'pages.dev URL',
|
||
'fileViewer.cloudflareCustomDomainLinkLabel': 'Custom domain',
|
||
'fileViewer.optional': 'اختياري',
|
||
'fileViewer.vercelPreviewOnly': 'النشر للمعاينة فقط حالياً.',
|
||
'fileViewer.cloudflarePagesPreviewHint': 'تستخدم Cloudflare Pages أسلوب Direct Upload.',
|
||
'fileViewer.savingConfig': 'جاري الحفظ...',
|
||
'fileViewer.deployConfigSaveFailed': 'تعذر حفظ إعدادات Vercel.',
|
||
'fileViewer.deployFailed': 'فشل النشر. تحقق من إعدادات Vercel وحاول مرة أخرى.',
|
||
'fileViewer.deployProviderConfigSaveFailed': 'تعذر حفظ إعدادات {provider}.',
|
||
'fileViewer.deployProviderFailed': 'فشل النشر إلى {provider}. تحقق من الإعدادات وحاول مرة أخرى.',
|
||
'fileViewer.deployResultLabel': 'رابط النشر',
|
||
'fileViewer.deployLinkReady': 'جاهز',
|
||
'fileViewer.deployLinkPreparingLabel': 'الرابط العام معلق',
|
||
'fileViewer.deployLinkDelayed': 'تم نشر الموقع، لكن الرابط العام ما زال قيد التحضير.',
|
||
'fileViewer.deployLinkFailed': 'فشل النطاق المخصص',
|
||
'fileViewer.deployLinkProtectedLabel': 'حماية النشر مفعلة',
|
||
'fileViewer.deployLinkProtected': 'تم نشر الموقع، لكن رابط المعاينة هذا يتطلب المصادقة. عطّل Deployment Protection أو استخدم نطاقاً مخصصاً.',
|
||
'fileViewer.retryLink': 'إعادة المحاولة الآن',
|
||
|
||
'questionForm.submit': 'إرسال',
|
||
'questionForm.skip': 'تخطي',
|
||
'questionForm.locked': 'تمت الإجابة',
|
||
|
||
'conv.switch': 'تبديل المحادثة',
|
||
'conv.label': 'المحادثة',
|
||
'conv.heading': 'المحادثات',
|
||
'conv.new': '+ جديد',
|
||
'conv.empty': 'لا توجد محادثات بعد.',
|
||
'conv.untitled': 'محادثة بدون عنوان',
|
||
'conv.renameTooltip': 'انقر مرتين لإعادة التسمية',
|
||
'conv.delete': 'حذف المحادثة',
|
||
'conv.deleteConfirm': 'هل تريد حذف "{title}"؟ سيؤدي هذا لإزالة رسائلها.',
|
||
|
||
'agentPicker.label': 'الوكيل',
|
||
'agentPicker.modeChoose': 'اختر وضع التنفيذ',
|
||
'agentPicker.localCli': 'CLI محلي',
|
||
'agentPicker.daemonOff': 'البرنامج الخفي متوقف',
|
||
'agentPicker.byok': 'API · BYOK',
|
||
'agentPicker.selectAgent': 'اختر وكيل كود مكتشف',
|
||
'agentPicker.noAgents': 'لا يوجد وكلاء في PATH',
|
||
'agentPicker.notInstalled': 'غير مثبت',
|
||
'agentPicker.rescan': 'إعادة مسح PATH المحلي للوكلاء',
|
||
|
||
'tool.openInTab': 'فتح {name} في علامة تبويب',
|
||
'tool.open': 'فتح',
|
||
'tool.todos': 'المهام',
|
||
'tool.write': 'كتابة',
|
||
'tool.edit': 'تعديل',
|
||
'tool.read': 'قراءة',
|
||
'tool.bash': 'Bash',
|
||
'tool.glob': 'Glob',
|
||
'tool.grep': 'Grep',
|
||
'tool.fetch': 'جلب',
|
||
'tool.search': 'بحث',
|
||
'tool.lines': '{n} أسطر',
|
||
'tool.changeSingular': 'تغيير',
|
||
'tool.changePlural': 'تغييرات',
|
||
'tool.in': 'في {path}',
|
||
'tool.hide': 'إخفاء',
|
||
'tool.output': 'المخرجات',
|
||
'tool.running': 'جاري التشغيل...',
|
||
'tool.error': 'خطأ',
|
||
'tool.done': 'تم',
|
||
|
||
'assistant.role': 'المساعد',
|
||
'assistant.workingLabel': 'جاري العمل',
|
||
'assistant.doneLabel': 'تم',
|
||
'assistant.emptyResponseLabel': 'No output',
|
||
'assistant.emptyResponseMessage': 'The provider ended the request without returning text or an artifact. Try another model or provider, check quota, or retry.',
|
||
'assistant.unfinishedLabel': 'توقف مع عمل غير مكتمل',
|
||
'assistant.unfinishedSummary': 'تبقى {n} مهمة/مهام',
|
||
'assistant.unfinishedMore': '+{n} أكثر',
|
||
'assistant.continueRemaining': 'متابعة المهام المتبقية',
|
||
'assistant.outTokens': '{n} خرج',
|
||
'assistant.producedFiles': 'الملفات من هذا الدور',
|
||
'assistant.openFile': 'فتح',
|
||
'assistant.downloadFile': 'تحميل',
|
||
'assistant.thinking': 'تفكير',
|
||
'assistant.systemReminder': 'تذكير النظام',
|
||
'assistant.waitingFirstOutput': 'في انتظار أول مخرج',
|
||
'assistant.statusBootingAgent': 'تشغيل الوكيل',
|
||
'assistant.statusStarting': 'بدء',
|
||
'assistant.statusRequesting': 'إرسال الطلب',
|
||
'assistant.statusThinking': 'تفكير',
|
||
'assistant.statusStreaming': 'تدفق',
|
||
'assistant.slowHint':
|
||
'يستغرق وقتاً أطول من المعتاد. يظهر النموذج عادة في 5-10 ثوانٍ - يمكنك التوقف وإعادة الصياغة.',
|
||
'assistant.verbEditing': 'تعديل',
|
||
'assistant.verbWriting': 'كتابة',
|
||
'assistant.verbReading': 'قراءة',
|
||
'assistant.verbSearching': 'بحث',
|
||
'assistant.verbRunning': 'تشغيل',
|
||
'assistant.verbTodos': 'مهام',
|
||
'assistant.verbFetching': 'جلب',
|
||
'assistant.verbCalling': 'اتصال',
|
||
|
||
'qf.answered': 'تمت الإجابة',
|
||
'qf.choose': 'اختر...',
|
||
'qf.required': 'مطلوب',
|
||
'qf.lockedSubmitted':
|
||
'تم إرسال الإجابات - يستخدمها الوكيل لبقية الجلسة.',
|
||
'qf.lockedPrev': 'هذا النموذج من دور سابق.',
|
||
'qf.hint':
|
||
"اختر ما يناسبك. تخطى الحقول الاختيارية التي لا تهمك - سيستخدم الوكيل افتراضات معقولة.",
|
||
'qf.submitDefault': 'إرسال الإجابات',
|
||
'qf.submitDisabledTitle': 'املأ الحقول المطلوبة أولاً',
|
||
'qf.submitTitle': 'إرسال الإجابات',
|
||
'qf.cardSelected': 'محدد',
|
||
'qf.cardRefs': 'المراجع:',
|
||
'qf.cardSampleText': 'The quick brown fox · 0123',
|
||
|
||
'sketch.toolSelect': 'تحديد (لا إجراء)',
|
||
'sketch.toolPen': 'قلم',
|
||
'sketch.toolText': 'نص',
|
||
'sketch.toolRect': 'مستطيل',
|
||
'sketch.toolArrow': 'سهم',
|
||
'sketch.toolEraser': 'ممحاة',
|
||
'sketch.color': 'اللون',
|
||
'sketch.strokeSize': 'حجم الخط',
|
||
'sketch.undo': 'تراجع',
|
||
'sketch.clear': 'مسح',
|
||
'sketch.close': 'إغلاق',
|
||
'sketch.closeConfirm': 'إغلاق الرسم وتجاهل التغييرات غير المحفوظة؟',
|
||
'sketch.textPrompt': 'النص:',
|
||
'sketch.textModalTitle': 'إضافة نص',
|
||
|
||
'pet.title': 'الحيوانات الأليفة',
|
||
'pet.subtitle': 'تبنَّ رفيقاً صغيراً يطفو فوق مساحة عملك.',
|
||
'pet.navTitle': 'الحيوانات الأليفة',
|
||
'pet.navHint': 'تبنَّ أو خصص',
|
||
'pet.tabBuiltIn': 'مدمج',
|
||
'pet.tabBuiltInHint': 'رفقاء منتقون مدمجون مع Open Design - اختر واحداً وتبنَّه.',
|
||
'pet.builtInEmpty': 'الحيوانات الأليفة المدمجة غير متوفرة حالياً. حاول تحديث تبويب المجتمع بمجرد اتصال البرنامج الخفي.',
|
||
'pet.tabCustom': 'مخصص',
|
||
'pet.tabCustomHint': 'اصنع خاصتك باسم، رمز، لون أو صورة.',
|
||
'pet.tabCommunity': 'المجتمع',
|
||
'pet.tabCommunityHint': 'حيوانات مفقوسة من Codex - تبنَّ واحداً أو ولد واحداً جديداً.',
|
||
'pet.tabsAria': 'مصدر الحيوان الأليف',
|
||
'pet.adopt': 'تبنَّ',
|
||
'pet.adoptedBadge': 'تم التبني',
|
||
'pet.adoptCallout': 'تبنَّ حيواناً أليفاً',
|
||
'pet.changePet': 'تغيير الحيوان الأليف',
|
||
'pet.wake': 'إيقاظ',
|
||
'pet.tuck': 'إخفاء',
|
||
'pet.wakeTitle': 'إيقاظ الحيوان الأليف - إظهار الطبقة العائمة.',
|
||
'pet.tuckTitle': 'إخفاء الحيوان الأليف - إخفاء الطبقة العائمة.',
|
||
'pet.settingsTitle': 'فتح إعدادات الحيوان الأليف',
|
||
'pet.useCustom': 'استخدم حيواني',
|
||
'pet.customTitle': 'اصنع خاصتك',
|
||
'pet.customHint': 'اختر اسماً، رمزاً ولوناً - الطبقة تتحدث مباشرة.',
|
||
'pet.customGreetingPlaceholder': 'قل مرحباً من حيوانك الأليف...',
|
||
'pet.fieldName': 'الاسم',
|
||
'pet.fieldGlyph': 'الرمز',
|
||
'pet.fieldGlyphHint': 'إيموجي واحد يعمل بشكل أفضل (مثلاً: 🐝, 🦄, 🐢).',
|
||
'pet.fieldGreeting': 'التحية',
|
||
'pet.fieldAccent': 'لون التمييز',
|
||
'pet.fieldAccentCustom': 'لون مخصص',
|
||
'pet.overlayAria': 'رفيق الحيوان الأليف',
|
||
'pet.spriteAria': '{name} - اسحب للتحريك، اضغط للدردشة',
|
||
'pet.spriteTitle': 'مرحباً من {name}! اضغط للدردشة.',
|
||
'pet.railAria': 'منتقي الحيوانات الأليفة',
|
||
'pet.railTitle': 'الحيوانات الأليفة',
|
||
'pet.railHint': 'اختر رفيقاً ليطفو فوق مساحة عملك.',
|
||
'pet.railExpand': 'إظهار منتقي الحيوانات الأليفة',
|
||
'pet.railCollapse': 'طي منتقي الحيوانات الأليفة',
|
||
'pet.railHide': 'إخفاء منتقي الحيوانات الأليفة',
|
||
'pet.railShow': 'إظهار منتقي الحيوانات الأليفة',
|
||
'pet.railCustomFlavor': 'خاصتك - اسم، رمز، لون.',
|
||
'pet.railCustomize': 'تخصيص...',
|
||
'pet.composerTitle': 'الحيوانات الأليفة - إيقاظ، إخفاء، أو اختيار واحد',
|
||
'pet.composerMenuTitle': 'الحيوانات الأليفة',
|
||
'pet.composerMenuHint': 'تلميح: اكتب /pet للتبديل',
|
||
'pet.composerOpenSettings': 'تخصيص في الإعدادات',
|
||
'pet.welcomeTeaserTitle': 'تبنَّ حيواناً أليفاً',
|
||
'pet.welcomeTeaserBody': 'رفيق عائم صغير يقضي الوقت معك.',
|
||
'pet.welcomeTeaserCta': 'اختر واحداً',
|
||
'pet.imageUpload': 'رفع صورة',
|
||
'pet.imageReplace': 'استبدال الصورة',
|
||
'pet.imageRemove': 'استخدام إيموجي',
|
||
'pet.imageHintIdle': 'PNG, JPG, WebP, GIF أو SVG. رفع ورقة؟ أسقط شريطاً أفقياً وحدد عدد الإطارات.',
|
||
'pet.imageHintActive': 'عرض صورتك. حدد الإطارات > 1 للمشي في ورقة صور أفقية.',
|
||
'pet.fieldFrames': 'الإطارات',
|
||
'pet.fieldFramesHint': '1 = ثابت. > 1 = ورقة صور أفقية.',
|
||
'pet.fieldFps': 'السرعة (fps)',
|
||
'pet.fieldFpsHint': 'مدى سرعة تدوير الإطارات.',
|
||
'pet.atlasImport': 'استيراد صورة Codex',
|
||
'pet.atlasImportTitle': 'استيراد أطلس حيوان مفقوس 8x9 / 192x208 (PNG أو WebP).',
|
||
'pet.atlasPickerTitle': 'اختر صف رسوم متحركة',
|
||
'pet.atlasPickerHint': 'حيوانات Codex تأتي بـ 9 صفوف رسوم متحركة. افتراضياً نحتفظ بالأطلس الكامل ليغير الحيوان الصفوف عند التحويم، السحب، والسكون. يمكنك أيضاً تجميده في حلقة واحدة.',
|
||
'pet.atlasCancel': 'تجاهل الأطلس',
|
||
'pet.atlasAdopt': 'تجميد في هذا الصف',
|
||
'pet.atlasAdoptFull': 'استخدام الأطلس الكامل (متحرك)',
|
||
'pet.atlasAdoptFullTitle': 'الاحتفاظ بكل الصفوف ليتفاعل الحيوان مع التحويم، اتجاه السحب، والسكون الطويل.',
|
||
'pet.atlasAdoptRowTitle': 'قص الصف المظلل فقط في شريط متكرر واحد.',
|
||
'pet.atlasActiveHint': 'الأطلس المتحرك نشط - يختار الحيوان صفاً من تفاعلك (تحويم، سحب، سكون).',
|
||
'pet.atlasRow.idle': 'ساكن',
|
||
'pet.atlasRow.running-right': 'جري يميناً',
|
||
'pet.atlasRow.running-left': 'جري يساراً',
|
||
'pet.atlasRow.waving': 'تلويح',
|
||
'pet.atlasRow.jumping': 'قفز',
|
||
'pet.atlasRow.failed': 'فشل',
|
||
'pet.atlasRow.waiting': 'انتظار',
|
||
'pet.atlasRow.running': 'جري',
|
||
'pet.atlasRow.review': 'مراجعة',
|
||
'pet.hatchTitle': 'فقس حيوان جديد بالذكاء الاصطناعي',
|
||
'pet.hatchHint': 'استخدم مهارة hatch-pet في الدردشة لتوليد ورقة صور بأسلوب Codex، ثم استوردها هنا.',
|
||
'pet.hatchConcept': 'مفهوم الحيوان (اختياري)',
|
||
'pet.hatchConceptPlaceholder': 'مثلاً: شيبا بيكسل-آرت صغير في سترة مريحة',
|
||
'pet.hatchCopy': 'نسخ الأمر',
|
||
'pet.hatchCopied': 'تم النسخ!',
|
||
'pet.hatchFoot': 'بعد أن يحفظ المساعد حيوانك، عد إلى هنا واختر "استيراد صورة Codex".',
|
||
'pet.slashPopoverAria': 'أوامر Slash',
|
||
'pet.slashPopoverTitle': 'الأوامر',
|
||
'pet.slashPopoverHint': '↑↓ للتنقل · enter للاختيار · esc للتجاهل',
|
||
'pet.slashPet': 'تبديل، تبني، أو الانتقال لإعدادات الحيوانات الأليفة.',
|
||
'pet.slashPetWake': 'إيقاظ طبقة الحيوان الأليف العائمة.',
|
||
'pet.slashPetTuck': 'إخفاء الحيوان الأليف حالياً.',
|
||
'pet.slashHatch': 'توليد حيوان Codex عبر مهارة hatch-pet.',
|
||
'pet.slashHatchArg': '<مفهوم>',
|
||
'pet.slashSearch': 'ابحث في الويب عبر أمر OD research.',
|
||
'pet.slashSearchArg': '<استعلام>',
|
||
'pet.codexTitle': 'فقس مؤخراً',
|
||
'pet.codexSubtitle': 'الحيوانات التي تمت تعبئتها بواسطة مهارة hatch-pet تظهر هنا للتبني بنقرة واحدة.',
|
||
'pet.codexSubtitleWithDir': 'مسح {dir} للبحث عن حيوانات معبأة بواسطة مهارة hatch-pet.',
|
||
'pet.codexEmpty': 'لا توجد حيوانات مفقوسة بعد. اكتب /hatch في الدردشة لتوليد واحد.',
|
||
'pet.codexLoading': 'البحث عن حيوانات مفقوسة...',
|
||
'pet.codexRefresh': 'تحديث',
|
||
'pet.codexAdopt': 'تبنَّ',
|
||
'pet.codexAdopting': 'جاري التبني...',
|
||
'pet.communitySync': 'تحميل حيوانات المجتمع',
|
||
'pet.communitySyncing': 'جاري التحميل...',
|
||
'pet.communitySyncTitle': 'مزامنة أحدث الحيوانات من Codex Pet Share + j20 Hatchery إلى ~/.codex/pets/.',
|
||
'pet.communitySyncDone': 'تمت مزامنة {wrote} حيواناً جديداً ({total} إجمالي).',
|
||
'pet.communitySyncFailed': 'فشلت المزامنة: {error}',
|
||
'pet.codexBundled': 'مدمج',
|
||
'pet.codexBundledTitle': 'يأتي مع Open Design - لا حاجة للتحميل.',
|
||
|
||
'settings.notifications': 'الإشعارات',
|
||
'settings.notificationsHint': 'صوت وإشعار سطح المكتب عند اكتمال المهمة',
|
||
'settings.notifyCompletionSound': 'صوت الاكتمال',
|
||
'settings.notifyCompletionSoundHint': 'يُشغَّل عند انتهاء الجولة. متوقف افتراضيًا.',
|
||
'settings.notifySuccessSound': 'صوت النجاح',
|
||
'settings.notifyFailureSound': 'صوت الفشل',
|
||
'settings.notifyDesktop': 'إشعار سطح المكتب',
|
||
'settings.notifyDesktopHint': 'يُرسَل عندما لا تكون النافذة في المقدمة.',
|
||
'settings.notifyDesktopBlocked': 'تم حظر الإشعارات من المتصفح. اسمح بها من إعدادات الموقع.',
|
||
'settings.notifyDesktopUnsupported': 'إشعارات سطح المكتب غير متاحة في هذه البيئة.',
|
||
'settings.notifyTest': 'إرسال اختبار',
|
||
'settings.notifyTestSent': 'تم إرسال إشعار الاختبار. إذا لم تظهر نافذة، فتحقق من إعدادات إشعارات المتصفح والنظام.',
|
||
'settings.notifyTestFailed': 'فشل استدعاء الإشعار. تحقق من إعدادات إشعارات المتصفح والنظام.',
|
||
'settings.notifySoundDing': 'دينج',
|
||
'settings.notifySoundChime': 'جرس',
|
||
'settings.notifySoundTwoToneUp': 'نغمتان صاعدتان',
|
||
'settings.notifySoundPluck': 'نقرة وتر',
|
||
'settings.notifySoundBuzz': 'طنين',
|
||
'settings.notifySoundTwoToneDown': 'نغمتان هابطتان',
|
||
'settings.notifySoundThud': 'دمدمة',
|
||
'settings.skills': 'المهارات',
|
||
'settings.skillsHint': 'المهارات الوظيفية التي يمكن للوكيل استدعاؤها أثناء المهمة',
|
||
'settings.skillsNew': 'مهارة جديدة',
|
||
'settings.skillsEmpty': 'حدد مهارة من اليسار أو أنشئ مهارة جديدة.',
|
||
'settings.skillsEdit': 'تحرير',
|
||
'settings.skillsDelete': 'حذف',
|
||
'settings.skillsDeleteConfirm': 'تأكيد الحذف',
|
||
'settings.skillsName': 'الاسم',
|
||
'settings.skillsTriggers': 'محفزات (مفصولة بفواصل أو أسطر جديدة)',
|
||
'settings.skillsDescription': 'الوصف',
|
||
'settings.skillsBody': 'محتوى SKILL.md',
|
||
'settings.skillsCreate': 'إنشاء',
|
||
'settings.skillsSave': 'حفظ',
|
||
'settings.skillsSaving': 'جاري الحفظ…',
|
||
'settings.skillsFiles': 'الملفات',
|
||
'settings.skillsNoFiles': 'لا توجد ملفات في مجلد هذه المهارة.',
|
||
'settings.designSystems': 'أنظمة التصميم',
|
||
'settings.designSystemsHint': 'تصفح وتفعيل أنظمة التصميم المتاحة للوكيل',
|
||
'settings.librarySkills': 'المهارات',
|
||
'settings.libraryDesignSystems': 'أنظمة التصميم',
|
||
'settings.librarySearch': 'بحث...',
|
||
'settings.libraryAll': 'الكل',
|
||
'settings.libraryPreview': 'معاينة',
|
||
'settings.libraryPreviewClose': 'إغلاق',
|
||
'settings.libraryLoading': 'جارٍ التحميل...',
|
||
'settings.libraryNoResults': 'لا توجد عناصر تطابق بحثك.',
|
||
'settings.libraryEnabled': 'مفعّل',
|
||
'settings.libraryDisabled': 'معطّل',
|
||
'settings.connectorsNavHint': 'اتصالات الأنظمة الخارجية',
|
||
'settings.connectorsHint': 'إدارة إعدادات الموصّلات ومزوّدي الأدوات لهذا الجهاز.',
|
||
'settings.connectorsComposioApiKey': 'مفتاح API لـ Composio',
|
||
'settings.connectorsSavedTitle': 'محفوظ في daemon المحلي',
|
||
'settings.connectorsSavedWithTail': 'محفوظ · ••••{tail}',
|
||
'settings.connectorsSaved': 'محفوظ',
|
||
'settings.connectorsGetApiKey': 'الحصول على مفتاح API',
|
||
'settings.connectorsReplaceKeyPlaceholder': 'الصق مفتاحًا جديدًا لاستبدال المحفوظ',
|
||
'settings.connectorsApiKeyPlaceholder': 'الصق مفتاح API لـ Composio',
|
||
'settings.connectorsClear': 'مسح',
|
||
'settings.connectorsClearConfirmTitle': 'مسح مفتاح Composio API المحفوظ؟',
|
||
'settings.connectorsClearConfirmBody': 'إزالة المفتاح ستفصل جميع موصلات Composio المرتبطة بمساحة العمل هذه. سيُحذف كل من الحسابات المتصلة وأذونات OAuth والوصول إلى الأدوات.',
|
||
'settings.connectorsClearConfirmContinue': 'متابعة',
|
||
'settings.connectorsClearFinalTitle': 'سيؤدي هذا إلى فصل جميع الموصلات',
|
||
'settings.connectorsClearFinalBody': 'لا يمكن التراجع عن هذا الإجراء. ستحتاج إلى إعادة ربط كل تكامل من البداية بعد لصق مفتاح جديد.',
|
||
'settings.connectorsClearFinalConfirm': 'حذف المفتاح وفصل التكاملات',
|
||
'settings.connectorsClearArming': 'لحظة\u2026',
|
||
'settings.connectorsClearCancel': 'إلغاء',
|
||
'settings.connectorsSaveKey': "حفظ المفتاح",
|
||
'settings.connectorsSaveKeyTitle': "إرسال هذا المفتاح إلى الـ daemon المحلي",
|
||
'settings.connectorsKeySaving': "جارٍ الحفظ…",
|
||
'settings.connectorsKeyError': "تعذّر حفظ المفتاح. تأكد أن الـ daemon المحلي يعمل ثم حاول مرة أخرى.",
|
||
'settings.connectorsHelpSaved': 'يفتح مفتاحك الكتالوج أدناه ويبقى في daemon المحلي. الصق مفتاحًا جديدًا لاستبداله أو امسحه لإزالته.',
|
||
'settings.connectorsHelpUnsaved': "تغييرات غير محفوظة — اضغط على \"حفظ المفتاح\" لتخزين بيانات الاعتماد في الـ daemon المحلي وفتح الكتالوج أدناه.",
|
||
'settings.connectorsHelpEmpty': 'أضف مفتاحًا لفتح الكتالوج أدناه. تُخزّن المفاتيح محليًا في daemon ولا تُرسل أبدًا عبر متغيرات البيئة.',
|
||
'settings.connectorsLoadingSavedKey': 'جارٍ التحقق من مفتاح محفوظ في daemon المحلي…',
|
||
'settings.autosaveSaving': "جارٍ الحفظ…",
|
||
'settings.autosaveSaved': "تم حفظ جميع التغييرات",
|
||
'settings.autosaveError': "تعذّر حفظ التغييرات. قد يكون الـ daemon المحلي غير متاح.",
|
||
'settings.libraryToggleLabel': 'تبديل',
|
||
// Memory (auto-extracted personalization saved as on-disk markdown)
|
||
'settings.memory': 'Memory',
|
||
'settings.memoryHint': 'Personal facts auto-extracted from chats',
|
||
'settings.memoryDescription': 'Auto-extracted facts about you and your preferences. Saved as Markdown files and folded into every chat.',
|
||
'settings.memoryEnabled': 'Enabled',
|
||
'settings.memoryDisabled': 'Disabled',
|
||
'settings.memoryEnableLabel': 'Enable memory injection',
|
||
'settings.memoryDisabledBanner': 'Memory is currently OFF. Existing facts are preserved on disk but will not be folded into new chats and new turns will not extract anything new.',
|
||
'settings.memoryNew': 'New memory',
|
||
'settings.memoryEdit': 'Edit',
|
||
'settings.memoryDelete': 'Delete',
|
||
'settings.memoryPreview': 'Preview',
|
||
'settings.memoryEmpty': 'No memory yet.',
|
||
'settings.memoryEmptyHintZh': '记住: 用户偏好深色主题',
|
||
'settings.memoryEmptyHintEn': 'I prefer dark mode',
|
||
'settings.memoryName': 'Name',
|
||
'settings.memoryDesc': 'One-line description',
|
||
'settings.memoryBody': 'Memory body (Markdown supported)',
|
||
'settings.memoryBodyHint': 'Lead with the rule itself; add Why and How to apply lines.',
|
||
'settings.memoryStartersLabel': 'Need a starting point? Click to fill the form:',
|
||
'settings.memoryStarterUserName': 'My role',
|
||
'settings.memoryStarterUserDesc': 'I am a frontend engineer working on a SaaS design tool',
|
||
'settings.memoryStarterUserBody': '- Role: senior frontend engineer\n- Stack: React, TypeScript, Vite\n- Domain: design / collaboration tools\n- Timezone: GMT+8 (Asia/Shanghai)\n\nWhen to apply: any chat — frame examples around web frontend.',
|
||
'settings.memoryStarterFeedbackName': 'UI preferences',
|
||
'settings.memoryStarterFeedbackDesc': 'Dark mode, large body text, low information density',
|
||
'settings.memoryStarterFeedbackBody': '- Theme: dark by default\n- Body text: ≥ 18px\n- Information density: prefer whitespace, fewer items per screen\n\nWhy: less eye strain during long sessions.\nWhen to apply: whenever you generate UI, web pages, or slides.',
|
||
'settings.memoryStarterProjectName': 'Current project',
|
||
'settings.memoryStarterProjectDesc': 'Open Design v0.5 — chat-driven design editor',
|
||
'settings.memoryStarterProjectBody': '- Goal: ship the chat-driven editor this quarter\n- Priorities: streaming render, local multimodal, offline-first\n- Stack: Next.js 16, Express daemon, SQLite\n\nWhen to apply: in any conversation about this project.',
|
||
'settings.memorySaveHint': 'Not auto-saved — click Create / Save to apply.',
|
||
'settings.memoryIndexSaveHint': 'Edits to the index are not auto-saved — click Save index to apply.',
|
||
'settings.memoryIndexUnsaved': 'Unsaved changes',
|
||
'settings.memoryFlashCreated': '✓ Memory created',
|
||
'settings.memoryFlashSaved': '✓ Memory saved',
|
||
'settings.memoryFlashDeleted': '✓ Memory deleted',
|
||
'settings.memoryFlashIndexSaved': '✓ Index saved',
|
||
'settings.memoryNameLabel': 'Title',
|
||
'settings.memoryTypeLabel': 'Type',
|
||
'settings.memoryDescLabel': 'Description',
|
||
'settings.memoryBodyLabel': 'Content',
|
||
'settings.memoryTypeUser': 'User',
|
||
'settings.memoryTypeFeedback': 'Feedback',
|
||
'settings.memoryTypeProject': 'Project',
|
||
'settings.memoryTypeReference': 'Reference',
|
||
'settings.memoryIndex': 'MEMORY.md (index)',
|
||
'settings.memoryIndexSave': 'Save index',
|
||
'settings.memoryIndexReset': 'Reset',
|
||
'settings.memoryToastChanged': 'Memory updated',
|
||
'settings.memoryToastClickHint': 'عرض',
|
||
'settings.memoryAll': 'All',
|
||
'settings.memoryExtractions': 'Extraction history',
|
||
'settings.memoryExtractionsHint': 'Recent LLM-backed extraction attempts. Heuristic regex extraction always runs first; LLM extraction runs in the background after each turn.',
|
||
'settings.memoryExtractionsEmpty': 'No extractions yet. The next chat turn will populate this list.',
|
||
'settings.memoryExtractionsRefresh': 'Refresh',
|
||
'settings.memoryExtractionPhaseRunning': 'Running…',
|
||
'settings.memoryExtractionPhaseSuccess': 'Success',
|
||
'settings.memoryExtractionPhaseSkipped': 'Skipped',
|
||
'settings.memoryExtractionPhaseFailed': 'Failed',
|
||
'settings.memoryExtractionSkipNoProvider': 'No API key configured for LLM memory extraction.',
|
||
'settings.memoryExtractionSkipDisabled': 'Memory is disabled.',
|
||
'settings.memoryExtractionSkipEmpty': 'Empty user message — nothing to extract.',
|
||
'settings.memoryExtractionSkipNoMatch': 'No regex pattern matched this turn.',
|
||
'settings.memoryExtractionKindHeuristic': 'regex',
|
||
'settings.memoryExtractionKindLlm': 'LLM',
|
||
'settings.memoryExtractionProviderEnv': 'env',
|
||
'settings.memoryExtractionProviderMediaConfig': 'media settings',
|
||
'settings.memoryExtractionProposed': 'proposed',
|
||
'settings.memoryExtractionWritten': 'written',
|
||
'settings.memoryExtractionDuration': 'in',
|
||
'settings.memoryNoProviderBannerTitle': 'LLM memory extraction is not running',
|
||
'settings.memoryNoProviderBannerBody': 'No API key found for the memory extractor. Add an OpenAI key under Media providers, or set ANTHROPIC_API_KEY / OPENAI_API_KEY in the environment, to enable LLM-driven extraction. Heuristic regex extraction is still active.',
|
||
'settings.memoryExtractionProviderOverride': 'memory settings',
|
||
'settings.memoryExtractionDelete': 'Delete',
|
||
'settings.memoryExtractionsClear': 'Clear',
|
||
'settings.memoryExtractionsClearTitle': 'Clear all extraction history',
|
||
'settings.libraryInstall': 'تثبيت',
|
||
'settings.libraryInstallGithub': 'GitHub',
|
||
'settings.libraryInstallLocal': 'مسار محلي',
|
||
'settings.libraryInstallUrl': 'https://github.com/owner/repo',
|
||
'settings.libraryInstallPath': '/path/to/skill-folder',
|
||
'settings.libraryInstallButton': 'تثبيت',
|
||
'settings.libraryUninstall': 'إلغاء التثبيت',
|
||
'settings.libraryBuiltIn': 'مدمج',
|
||
'settings.libraryInstalled': 'مثبّت',
|
||
'notify.successTitle': 'اكتملت المهمة',
|
||
'notify.failureTitle': 'فشلت المهمة',
|
||
'notify.successBody': 'انتهت جولة.',
|
||
'notify.failureBody': 'انتهت المهمة بخطأ.',
|
||
'settings.memoryModelInlineLabel': 'Memory model',
|
||
'settings.memoryModelInlineSameAsChat': 'Same as chat',
|
||
'settings.memoryModelInlineSameAsChatWithModel': 'Same as chat ({model})',
|
||
'settings.memoryModelInlineSameAsChatWithProvider': 'Same as chat ({provider})',
|
||
'settings.memoryModelInlineHintCli': 'Optional. The memory extractor uses an env-var or media-providers API key on this provider; pinning a model here just overrides the auto-pick.',
|
||
'settings.memoryModelInlineHintCliConstrained': 'Optional. Memory will call {provider}; needs an env-var or media-providers API key for that provider, or pick a model below to override.',
|
||
'settings.memoryModelInlineHintByok': 'Optional. Reuses your chat API key on the same provider — picking a different (usually cheaper) model only changes the request body.',
|
||
'settings.memoryModelInlineFlashSaved': 'Saved',
|
||
'settings.memoryModelInlineFlashCleared': 'Cleared',
|
||
'settings.orbit.eyebrow': 'الأتمتة',
|
||
'settings.orbit.title': 'Orbit',
|
||
'settings.orbit.navHint': 'ملخص يومي للموصّلات',
|
||
'settings.orbit.lede': 'اجمع نشاط الموصّلات وفق جدول وانشر النتيجة كـ live artifact قابل للتحديث.',
|
||
'settings.orbit.statusOnTitle': 'التشغيلات اليومية المجدولة مفعّلة',
|
||
'settings.orbit.statusOffTitle': 'التشغيلات اليومية المجدولة متوقفة',
|
||
'settings.orbit.statusActive': 'نشط',
|
||
'settings.orbit.statusOff': 'متوقف',
|
||
'settings.orbit.runTitle': 'ابدأ تشغيل Orbit وافتح المحادثة الحية',
|
||
'settings.orbit.running': 'قيد التشغيل…',
|
||
'settings.orbit.runOpen': 'شغّله الآن',
|
||
'settings.orbit.dailySummaryTitle': 'ملخص يومي',
|
||
'settings.orbit.dailySummarySub': 'يعمل مرة يوميًا في الوقت المحلي المجدول.',
|
||
'settings.orbit.on': 'تشغيل',
|
||
'settings.orbit.off': 'متوقف',
|
||
'settings.orbit.runTimeTitle': 'وقت التشغيل',
|
||
'settings.orbit.runTimeSub': 'الافتراضي 08:00. احفظ لتطبيق جدول daemon.',
|
||
'settings.orbit.runTimeAria': 'وقت تشغيل Orbit اليومي',
|
||
'settings.orbit.nextRun': 'التشغيل التالي',
|
||
'settings.orbit.nextRunScheduledAfterSave': 'سيُجدول بعد الحفظ',
|
||
'settings.orbit.schedule': 'الجدول',
|
||
'settings.orbit.pausedManualOnly': 'متوقف مؤقتًا — تشغيل يدوي فقط',
|
||
'settings.orbit.templateTitle': 'قالب prompt',
|
||
'settings.orbit.templateMissing': 'القالب {id} غير مثبت.',
|
||
'settings.orbit.templateMissingOption': '{id} (مفقود)',
|
||
'settings.orbit.templateMissingInstall': 'ثبّت skill لـ Orbit لتوجيه prompt.',
|
||
'settings.orbit.templateMissingPickAnother': 'اختر قالبًا آخر من القائمة.',
|
||
'settings.orbit.templateResetTitle': 'إعادة إلى {id}',
|
||
'settings.orbit.templateReset': 'إعادة ضبط',
|
||
'settings.orbit.templateHelp': 'وجّه Orbit باستخدام skill — يُحقن prompt المثال للقالب المحدد في كل تشغيل Orbit كي تتبع الملخصات شكل ذلك القالب.',
|
||
'settings.orbit.templateAria': 'قالب prompt لـ Orbit',
|
||
'settings.orbit.templatesLoading': 'جارٍ تحميل القوالب…',
|
||
'settings.orbit.templatesOptgroup': 'قوالب skills لـ Orbit',
|
||
'settings.orbit.lastRun': 'آخر تشغيل',
|
||
'settings.orbit.triggerManual': 'يدوي',
|
||
'settings.orbit.triggerScheduled': 'مجدول',
|
||
'settings.orbit.meterAria': '{succeeded} نجح، {skipped} تم تخطيه، {failed} فشل من أصل {checked} تم فحصه',
|
||
'settings.orbit.countChecked': 'تم الفحص',
|
||
'settings.orbit.countSucceeded': 'نجح',
|
||
'settings.orbit.countSkipped': 'تم التخطي',
|
||
'settings.orbit.countFailed': 'فشل',
|
||
'settings.orbit.runError': 'تعذر تشغيل Orbit. تأكد من أن daemon المحلي يعمل وأن الموصّلات مهيأة.',
|
||
'settings.orbit.gateAriaLabel': "يلزم وجود موصلات لاستخدام Orbit",
|
||
'settings.orbit.gateEyebrow': "الإعداد مطلوب",
|
||
'settings.orbit.gateTitle': "اربط أداة لتشغيل Orbit",
|
||
'settings.orbit.gateBody': "يلخّص Orbit نشاط الموصلات الخاصة بك. لم تربط أيّ موصل بعد — أضف تكاملًا واحدًا على الأقل ليعمل Orbit.",
|
||
'settings.orbit.gateBodyNoKey': "يلخّص Orbit نشاط موصلاتك، وتعمل الموصلات عبر Composio. أضِف مفتاح Composio API في «الموصلات» لفتح الكتالوج واختيار أوّل تكامل لك.",
|
||
'settings.orbit.gateAction': "فتح الموصلات",
|
||
'settings.orbit.gateActionNoKey': "تهيئة Composio",
|
||
'settings.orbit.gateLoading': "جارٍ فحص الموصلات…",
|
||
'settings.orbit.controlsLockedBadge': "مقفل",
|
||
'settings.orbit.controlsLockedHint': "اربط أداة لإلغاء قفل جدولة Orbit وقالبه.",
|
||
'settings.orbit.artifactKickerLive': 'live artifact',
|
||
'settings.orbit.artifactKickerLegacy': 'ملخص قديم',
|
||
'settings.orbit.artifactTitle': 'ملخص نشاط Orbit اليومي',
|
||
'settings.orbit.artifactMetaLive': 'artifact HTML قابل للتحديث تم إنشاؤه من نشاط الموصّلات.',
|
||
'settings.orbit.artifactMetaLegacy': 'تم إنشاؤه قبل تفعيل دعم live artifact — شغّل Orbit مرة أخرى لنشر واحد.',
|
||
'settings.orbit.copyMarkdownTitle': 'نسخ ملخص Markdown إلى الحافظة',
|
||
'settings.orbit.copied': 'تم النسخ',
|
||
'settings.orbit.copy': 'نسخ',
|
||
'settings.orbit.openArtifact': 'فتح artifact',
|
||
'settings.orbit.sourceMarkdown': 'Markdown المصدر',
|
||
'liveArtifact.viewer.tabPreview': 'معاينة',
|
||
'liveArtifact.viewer.tabCode': 'الكود',
|
||
'liveArtifact.viewer.tabData': 'البيانات',
|
||
'liveArtifact.viewer.tabRefreshHistory': 'سجل التحديث',
|
||
'liveArtifact.viewer.dataEmpty': 'لا توجد ذاكرة data.json مؤقتة متاحة.',
|
||
'liveArtifact.viewer.code.templateHeading': 'HTML القالب',
|
||
'liveArtifact.viewer.code.renderedHeading': 'HTML المعروض',
|
||
'liveArtifact.viewer.code.templateHelp': 'القالب القابل للتحرير المستخدم مع data.json لإنشاء المعاينة.',
|
||
'liveArtifact.viewer.code.renderedHelp': 'ملف index.html المُنشأ الذي تحمّله المعاينة حاليًا.',
|
||
'liveArtifact.viewer.code.variantAria': 'متغير الكود',
|
||
'liveArtifact.viewer.code.variantTemplate': 'القالب',
|
||
'liveArtifact.viewer.code.variantRendered': 'معروض',
|
||
'liveArtifact.viewer.code.loading': 'جارٍ تحميل الكود…',
|
||
'liveArtifact.viewer.code.unavailable': 'الكود غير متاح بعد.',
|
||
'liveArtifact.viewer.code.empty': 'ملف الكود هذا فارغ.',
|
||
};
|