UNPKG

i18ntk

Version:

i18n Tool Kit - Zero-dependency internationalization toolkit for setup, scanning, analysis, validation, auto translation, fixing, reporting, and runtime translation loading.

819 lines 191 kB
{ "meta": { "version": "4.7.0", "updated": "2026-07-07", "lang": "ar" }, "common": { "welcome": "مرحباً", "hello": "مرحبًا", "goodbye": "مع السلامة", "yes": "نعم", "no": "لا", "save": "يحفظ", "cancel": "يلغي", "delete": "يمسح", "edit": "يحرر", "loading": "تحميل...", "offlineTitle": "أنت غير متصل", "offlineMessage": "يرجى التحقق من اتصالك بالإنترنت", "tryReconnect": "حاول إعادة الاتصال", "logout": "تسجيل الخروج", "login": "تسجيل الدخول", "amount": "كمية", "success": "نجاح", "error": "خطأ", "warning": "تحذير", "info": "معلومات:", "debug": "تصحيح", "progress": "تقدم:", "remaining": "متبقي:", "total": "المجموع:", "completed": "7. اكتمل بنجاح!", "missing": "مفتقد", "partial": "جزئي", "sameAsSource": "نفس المصدر :", "formatMismatch": "عدم تطابق التنسيق:", "typeMismatch": "عدم تطابق النوع:", "structureMismatch": "عدم تطابق الهيكل:", "invalidOption": "خيار غير صالح", "separator": "==================================================", "initializationFailed": "❌ فشلت التهيئة: {error}", "stackTrace": "تتبع المكدس: {stack}", "pressEnterToContinue": "اضغط على Enter للمتابعة...", "pressEnterToReturn": "اضغط على Enter للعودة إلى القائمة الرئيسية...", "stepCompleted": "خطوة '{stepName}' مكتمل.", "stepFailed": "خطوة '{stepName}' فشل.", "runningStep": "خطوة التشغيل: {stepName}", "command": "يأمر: {command}", "startingWorkflow": "بدء سير العمل...", "workflowCompleted": "اكتمل سير العمل.", "checkReports": "تحقق من التقارير للحصول على التفاصيل.", "errorExecutingCommand": "خطأ في تنفيذ الأمر: {error}", "genericError": "❌ خطأ: {error}", "errors": { "errors": "الأخطاء:", "genericError": "❌ خطأ: {error}", "initializationFailed": "❌ فشلت التهيئة: {error}", "initializationCancelled": "❌ تم إلغاء التهيئة من قبل المستخدم.", "translationKeyNotFound": "لم يتم العثور على مفتاح الترجمة: {key}", "sourceDirectoryNotFound": "لم يتم العثور على الدليل المصدر: {directory}", "configLoadingFailed": "فشل تحميل التكوين", "invalidSourceDirectory": "دليل المصدر غير صالح: {directory}", "securityViolation": "تم اكتشاف انتهاك أمني", "authenticationFailed": "فشلت المصادقة", "sourceEqualsI18nWarn": "⚠️ sourceDir يساوي i18nDir ({sourceDir}). التراجع إلى {fallback} لمسح المصدر" }, "errorGeneratingStatusSummary": "حدث خطأ أثناء إنشاء ملخص الحالة: {error}", "errorRunningDebugTool": "خطأ في تشغيل أداة التصحيح '{displayName}': {error}", "errorReadingDebugLogs": "خطأ في قراءة سجلات التصحيح: {error}", "errorAnalyzingLogFile": "خطأ في تحليل ملف السجل: {error}", "errorAnalyzingTranslationKeys": "خطأ في تحليل مفاتيح الترجمة: {error}", "errorAnalyzingTranslationCompleteness": "خطأ في تحليل اكتمال الترجمة: {error}", "analyzingTranslationCompleteness": "تحليل اكتمال الترجمة عبر جميع اللغات...", "i18nDirectoryNotFound": "⚠️ لم يتم العثور على دليل i18n: {i18nDir}", "translationCompletenessAnalysisFailed": "⚠️ فشل تحليل اكتمال الترجمة: {error}", "failedToAnalyzeLanguage": "❌فشل في تحليل اللغة {language}: {error}", "errorReadingI18nDirectory": "❌ خطأ في قراءة دليل i18n:", "languageCompletenessTitle": "📈 اكتمال الترجمة حسب اللغة", "errorAnalyzingTranslationFormat": "خطأ في تحليل تنسيق الترجمة: {error}", "errorAnalyzingTranslationType": "خطأ في تحليل نوع الترجمة: {error}", "errorAnalyzingTranslationStructure": "خطأ في تحليل بنية الترجمة: {error}", "errorAnalyzingTranslationFormatMismatch": "خطأ في تحليل عدم تطابق تنسيق الترجمة: {error}", "errorAnalyzingTranslationTypeMismatch": "خطأ في تحليل عدم تطابق نوع الترجمة: {error}", "errorAnalyzingTranslationStructureMismatch": "خطأ في تحليل عدم تطابق بنية الترجمة: {error}", "errorAnalyzingTranslationSameAsSource": "خطأ في تحليل الترجمة مثل المصدر: {error}", "title": "حالة", "nextStep1": "1. التحقق من تحليل الاستخدام:", "nextStep2": "2. التحقق من صحة الترجمات:", "nextStep3": "3. تحليل الاكتمال:", "nextStep4": "4. أكمل الترجمات المفقودة:", "nextStep5": "5. إنشاء تقرير موجز:", "nextStep6": "6. مراجعة الترجمات وإنهائها:", "generating": "جارٍ إنشاء تقرير ملخص...", "review": "مراجعة الترجمات...", "finalizing": "إنهاء الترجمات...", "finalized": "تم الانتهاء بنجاح!", "warnings": "التحذيرات:", "completedKeys": "المفاتيح المكتملة:", "missingKeys": "المفاتيح المفقودة:", "partialKeys": "المفاتيح الجزئية:", "home": "بيت", "settings": "إعدادات", "startingSettings": "🎛️ بدء تشغيل الإعدادات CLI...", "confirm": "يتأكد", "errorExiting": "حدث خطأ أثناء الخروج." }, "errors": { "invalidOption": "❌ خيار غير صالح: {option}. يرجى المحاولة مرة أخرى.", "readlineClosed": "دفق الإدخال مغلق؛ يعمل في الوضع غير التفاعلي.", "noPackageJson": "لم يتم العثور على package.json. لا يمكن الكشف التلقائي عن إطار عمل i18n.", "noI18nDir": "لم يتم العثور على دليل i18n في جذر المشروع.", "noI18nConfig": "لم يتم العثور على ملف تكوين i18n في جذر المشروع.", "errorReadingDebugLogs": "خطأ في قراءة سجلات التصحيح: {error}" }, "scanner": { "help_message": "استخدام الماسح الضوئي للنص I18n: العقدة i18ntk-scanner.js [خيارات] الخيارات: --source-dir <dir> الدليل المصدر المراد مسحه (الافتراضي: ./src) --output <file> ملف الإخراج لنتائج المسح (الافتراضي: ./i18ntk-scanner-report.json) - الإطار <name> إطار العمل المستهدف (رد الفعل، vue، الزاوي، الفانيليا) - الأنماط <patterns> أنماط التعبير العادي المخصصة (مفصولة بفواصل) --اختبارات التضمين تضمين ملفات الاختبار في الفحص --استبعاد-dirs <dirs> الدلائل المراد استبعادها (مفصولة بفواصل) --مساعدة في إظهار هذه المساعدة أمثلة: العقدة i18ntk-scanner.js --source-dir=./src --framework=react العقدة i18ntk-scanner.js --patterns 'console.log\\((.*?)\\)' --عقدة تضمين الاختبارات i18ntk-scanner.js --output=./scan-results.json", "help_options": { "source_dir": "الدليل المصدر للبحث عن مشكلات i18n", "output_dir": "دليل لتقارير المسح والنتائج", "framework": "الإطار المستهدف (الرد، الرؤية، الزاوي، الفانيليا)", "patterns": "أنماط regex المخصصة للكشف عن النص", "exclude": "أنماط الملفات المراد استبعادها من المسح", "output_report": "إنشاء تقرير المسح التفصيلي", "min_length": "الحد الأدنى لطول النص الذي يجب مراعاته عند الترجمة", "max_length": "الحد الأقصى لطول النص الذي يجب مراعاته عند الترجمة", "include_tests": "قم بتضمين ملفات الاختبار في عملية المسح" }, "starting": "🔍 بدء تشغيل الماسح الضوئي للنص لإطار العمل: {framework}", "sourceDirectory": "📁 دليل المسح: {sourceDir}", "frameworkDetected": "🎯 الإطار المكتشف: {framework}", "scanningFiles": "📊 المسح {fileCount} ملفات...", "foundTexts": "📝 وجدت {textCount} النصوص التي تحتاج إلى ترجمة", "generatingReport": "📊 إصدار تقرير مفصل...", "reportSaved": "💾 تم حفظ تقرير المسح في: {reportPath}", "noTextsFound": "✅ لم يتم العثور على نصوص إنجليزية مشفرة", "scanComplete": "🎉 تم الانتهاء من الفحص بنجاح!", "analysisTitle": "🔍 تحليل فحص الترجمة", "fileSummary": "📄 {file}: {count} تم العثور على النصوص", "textLocation": "📍الخط {line}: {text}", "foundText": "وجد {count} حالات النص المضمنة المحتملة", "context": "📝 السياق: {context}", "severity": "⚠️ الشدة: {severity}", "recommendation": "💡 التوصية: {recommendation}", "welcome": { "title": "🎯 مرحبًا بك في ماسح النصوص!", "description": "تقوم هذه الأداة بمسح كود المصدر الخاص بك بحثًا عن نص باللغة الإنجليزية مضمن والذي قد يحتاج إلى ترجمة." }, "frameworkPrompt": { "title": "🎯 حدد الإطار", "available": "الأطر المتاحة: رد الفعل، vue، الزاوي، الفانيليا", "description": "أدخل نوع الإطار (أو اضغط على Enter للاكتشاف التلقائي):", "input": "نطاق:" }, "directoryPrompt": { "title": "📁 حدد دليل المصدر", "current": "الدليل الحالي: {dir}", "description": "أدخل الدليل المراد مسحه (أو اضغط على Enter للتيار):", "input": "دليل:" }, "options": { "includeTests": "تضمين ملفات الاختبار؟", "excludeDirs": "الدلائل المراد استبعادها (مفصولة بفواصل):", "customPatterns": "الأنماط المخصصة للبحث عن (regex):" }, "reportGenerated": "تم إنشاء تقرير المسح: {path}" }, "fixer": { "help_message": "استخدام أداة تثبيت الترجمة I18n: عقدة i18ntk-fixer.js [خيارات] الخيارات: --source-dir <dir> الدليل المصدر المراد مسحه (الافتراضي: ./locales) --languages <langs> قائمة اللغات المفصولة بفواصل لإصلاح علامات -- <markers> علامات مفصولة بفواصل للتعامل معها على أنها غير مترجمة --no-backup تخطي إنشاء النسخ الاحتياطي التلقائي --مساعدة إظهار هذه المساعدة أمثلة: العقدة i18ntk-fixer.js --languages ​​de,fr العقدة i18ntk-fixer.js --source-dir=./locales --markers NOT_TRANSLATED العقدة i18ntk-fixer.js --no-backup", "starting": "🚀 البدء في إصلاح الترجمة للغات: {languages}", "sourceDirectory": "📁 دليل المصدر: {sourceDir}", "sourceLanguage": "🔤 لغة المصدر: {sourceLanguage}", "markers": "🏷️ علامات للإصلاح: {markers}", "scanningLanguage": "📊 المسح {language}...", "noLanguages": "❌ لا توجد لغات محددة للإصلاح.", "allComplete": "🎉 جميع الترجمات كاملة بالفعل!", "fullReportSaved": "📊 تم حفظ التقرير كاملاً في: {reportPath}", "reviewReport": "برجاء مراجعة التقرير قبل المتابعة.", "backupCreated": "💾 تم إنشاء النسخة الاحتياطية بنجاح.", "applyingFixes": "🔄تطبيق الإصلاحات...", "fixingComplete": "✅ اكتمل إصلاح الترجمة!", "operationCancelled": "❌ تم إلغاء العملية من قبل المستخدم.", "analysisTitle": "🔍 تحليل إصلاح الترجمة", "analysisSeparator": "==================================================", "totalIssues": "إجمالي المشكلات التي تم العثور عليها: {totalIssues}", "missingTranslations": "الترجمات المفقودة: {missing}", "placeholderTranslations": "ترجمات العناصر النائبة: {placeholder}", "noIssues": "✅ لم يتم العثور على مشاكل. جميع الترجمات كاملة.", "detailedIssues": "📋 DETAILED ISSUES:", "detailedSeparator": "--------------------------------------------------", "filePath": "📄 {file} → {path}", "missingKey": "❌ مفقود: {source} → {new}", "placeholderKey": "⚠️ العنصر النائب: \"{target}\" → \"{new}\"", "moreIssues": "... و {count} المزيد من القضايا. تحقق من ملف التقرير للحصول على التفاصيل الكاملة.", "confirmationTitle": "🤔 هل تريد الاستمرار في هذه الإصلاحات؟", "confirmationOptions": "خيارات:", "optionYes": "y - نعم، قم بتطبيق كافة الإصلاحات", "optionNo": "ن - لا، قم بإلغاء العملية", "optionShow": "ق - عرض القضايا التفصيلية", "choicePrompt": "اختيارك (ص / لا / ق):", "nonInteractiveMode": "⚡ تم اكتشاف الوضع غير التفاعلي - تطبيق الإصلاحات تلقائيًا...", "reportGenerated": "📊 تم إنشاء تقرير المصلح: {path}", "summary": "ملخص المثبت:", "welcome": { "title": "🎯 مرحبًا بك في مُثبت الترجمة!", "description": "ستساعدك هذه الأداة على إصلاح الترجمات والعناصر النائبة المعطلة عبر ملفاتك المحلية." }, "markerPrompt": { "title": "🏷️ تكوين علامات العناصر النائبة", "description": "أدخل العلامات التي تشير إلى النص غير المترجم (مفصول بفواصل):", "currentDefaults": "العلامات الافتراضية: {markers}", "input": "العلامات (أو اضغط على Enter للإعدادات الافتراضية):" }, "languagePrompt": { "title": "🌍 حدد اللغات لإصلاحها", "available": "اللغات المتاحة: {languages}", "description": "أدخل اللغات المراد إصلاحها (مفصولة بفواصل) أو اضغط على Enter للكل:", "input": "اللغات:", "noLanguages": "لم يتم العثور على لغات لإصلاحها." }, "directoryPrompt": { "title": "📁 اختر الدليل", "current": "الدليل الحالي: {dir}", "description": "أدخل الدليل الذي يحتوي على ملفاتك المحلية (أو اضغط على Enter للتيار):", "input": "دليل:" }, "backupLocation": "موقع النسخ الاحتياطي: {dir}", "completed": "تم الانتهاء من التثبيت.", "creatingBackup": "إنشاء نسخة احتياطية في {dir}...", "dryRunMode": "وضع التشغيل الجاف: {mode}", "error": "فشل المثبت: {error}", "fixing": "تحديد {language}...", "foundLanguages": "وجد {count} اللغات: {languages}", "languageFixed": "{language}: مُثَبَّت {fixed} المفتاح (المفاتيح)، تم تخطيه {skipped}.", "running": "جارٍ تشغيل أداة إصلاح الترجمة...", "totalFixed": "مجموع ثابت: {count}" }, "autorun": { "stepAnalyzeTranslations": "تحليل الترجمات", "stepCompletedWithIcon": "✅ مكتمل: {stepName}", "stepValidateTranslations": "التحقق من صحة الترجمات", "stepRunning": "◀️ خطوة {stepNumber}/{totalSteps}: {stepName}", "separator": "==================================================", "stepFailed": "❌ فشل: {stepName}", "errorLabel": "خطأ", "autoRunScriptTitle": "🧪 سير العمل التشغيل التلقائي", "usageTitle": "الاستخدام", "runAllSteps": "تشغيل: العقدة i18ntk-autorun.js", "configureSettingsFirst": "التكوين: علامات i18ntk-config.json أو CLI", "runSpecificSteps": "استخدم --steps=1,3 أو --list لإظهار الخطوات", "showHelp": "- مساعدة لمزيد من المعلومات", "examplesTitle": "أمثلة", "configExample": "العقدة i18ntk-autorun.js --ui-language=zh", "stepsExample1": "العقدة i18ntk-autorun.js --steps=analyze,validate", "stepsExample2": "العقدة i18ntk-autorun.js --list", "customSettingsConfiguration": "إعدادات التشغيل التلقائي المخصصة", "availableSteps": "الخطوات المتاحة", "startingAutoRunWorkflow": "🚀 بدء سير عمل التشغيل التلقائي...", "workflowIncludesSteps": "يتضمن سير العمل {count} خطوات:", "missingRequiredFile": "الملف المطلوب مفقود: {file}", "workflowStopped": "توقف سير العمل بسبب فشل.", "workflowCompleted": "🎉 اكتمل سير العمل!", "successfulSteps": "الخطوات الناجحة: {count}", "failedSteps": "خطوات فاشلة: {count}", "stepInitializeProject": "تهيئة المشروع", "stepCheckUsage": "التحقق من استخدام المفتاح", "stepGenerateSummary": "إنشاء تقرير موجز", "runInitializationFirst": "الرجاء تشغيل التهيئة أولاً.", "initializationCheckPassed": "تم اجتياز فحص التهيئة.", "runningStep": "خطوة التشغيل: {stepName}", "commandLabel": "يأمر: {command}", "stepCompletedWithTime": "خطوة '{stepName}\"اكتمل في {duration}آنسة.", "stepCompleted": "خطوة '{stepName}' مكتمل.", "stepFailedWithError": "خطوة '{stepName}'فشل بسبب الخطأ: {error}", "requiredStepFailed": "فشلت الخطوة المطلوبة. إيقاف سير العمل.", "optionalStepFailed": "فشلت الخطوة الاختيارية. استمرار سير العمل.", "stepRequired": "(مطلوب)", "stepOptional": "(خياري)", "startingExecution": "البدء بالتنفيذ...", "pressEnterToContinue": "اضغط على Enter للمتابعة...", "runningSelectedSteps": "تشغيل الخطوات المحددة...", "invalidStepNumber": "رقم الخطوة غير صالح: {stepNum}", "executionReport": "تقرير التنفيذ:", "requiredFailedSteps": "فشلت الخطوات المطلوبة: {count}", "stepDetails": "تفاصيل الخطوة:", "reportSavedTo": "تم حفظ التقرير في: {path}", "overallStatusSuccess": "SUCCESS", "overallStatusFailed": "FAILED", "overallStatus": "الحالة العامة: {status}", "pressEnterForDefaults": "اضغط على Enter لاستخدام الإعدادات الافتراضية لأي مطالبة.", "sourceDirPrompt": "أدخل الدليل المصدر (الافتراضي: {default}):", "sourceLangPrompt": "أدخل لغة المصدر (الافتراضي: {default}):", "targetLangsPrompt": "أدخل اللغات المستهدفة (مفصولة بفواصل، الافتراضية: {default}):", "translationMarkerPrompt": "أدخل علامة الترجمة (الافتراضي: {default}):", "outputDirPrompt": "أدخل دليل الإخراج للتقارير (الافتراضي: {default}):", "settingsUpdatedSuccessfully": "تم تحديث الإعدادات بنجاح!", "errorConfiguringSettings": "خطأ في تكوين الإعدادات: {error}", "configurationComplete": "اكتمل التكوين.", "runAutoRunCommand": "الآن يمكنك تشغيل أمر التشغيل التلقائي.", "configurationFailed": "فشل التكوين: {error}", "noValidStepNumbers": "لم يتم توفير أرقام خطوات صالحة.", "autoRunFailed": "فشل التشغيل التلقائي: {error}", "stepCompleteTranslations": "ترجمات كاملة", "stepAnalyzeSizing": "تحليل الحجم", "stepCompletedIcon": "✅", "stepRunningWithNumber": "[{stepNumber}/{totalSteps}] خطوة '{stepName}' جري...", "stepFailedIcon": "❌", "translationLoadWarning": "تحذير: لا يمكن التحميل {lang} ترجمات", "configReadError": "خطأ في القراءة {file}" }, "analyze": { "help_message": "استخدام محلل ترجمة I18n: عقدة i18ntk-analyze.js [خيارات] الخيارات: --source-dir <dir> الدليل المصدر المراد مسحه (الافتراضي: ./src) --i18n-dir <dir> دليل I18n (الافتراضي: ./src/locales) --output-report إنشاء تقرير مفصل --output-dir <dir> دليل الإخراج للتقارير (الافتراضي: ./reports) --help عرض هذه المساعدة أمثلة: العقدة i18ntk-analyze.js --output-report العقدة i18ntk-analyze.js --source-dir=./app --i18n-dir=./locales العقدة i18ntk-analyze.js --output-dir=./ana Analysis --output-report", "source_directory": "📁 دليل المصدر: {sourceDir}", "i18n_directory": "🌐 دليل I18n: {i18nDir}", "loading_translation_files": "📋 جاري تحميل ملفات الترجمة...", "sourceDirectoryLabel": "📁 دليل المصدر: {sourceDir}", "sourceLanguageLabel": "🌍 لغة المصدر: {sourceLanguage}", "strictModeLabel": "⚙️ الوضع الصارم: {mode}", "found_translation_files_count": "✅ وجدت {count} ملفات الترجمة", "analyzing_translations": "🔍 تحليل الترجمات...", "analysis_completed_successfully": "🎉 تم الانتهاء من التحليل بنجاح!", "analysis_results": "📊 ANALYSIS RESULTS", "language_analysis_stats": "{language}: {translatedKeys}/{totalKeys} ({percentage}النسبة المئوية المترجمة)", "sample_missing_keys": "عينة من المفاتيح المفقودة:", "missing_key": "- {key}", "and_more_missing": "...و {count} أكثر.", "sample_unused_keys": "عينة من المفاتيح غير المستخدمة:", "unused_key": "- {key}", "and_more_unused": "...و {count} أكثر.", "recommendations": "📋 التوصيات", "add_missing_translations": "💡 أضف الترجمات المفقودة لتحسين التغطية.", "remove_unused_translations": "💡 قم بإزالة الترجمات غير المستخدمة للحفاظ على نظافة مشروعك.", "next_steps": "📋 NEXT STEPS", "review_analysis_results": "1. قم بمراجعة نتائج التحليل في وحدة التحكم أو التقرير الذي تم إنشاؤه.", "run_with_output_report": "2. قم بتشغيل --output-report للحصول على تقرير مفصل.", "add_or_remove_translations": "3. أضف الترجمات المفقودة أو قم بإزالة الترجمات غير المستخدمة.", "rerun_analysis": "4. أعد تشغيل التحليل للتحقق من التحسينات.", "analysis_summary": "📊 ANALYSIS SUMMARY", "source_files_scanned": "الملفات المصدرية التي تم فحصها: {fileCount}", "translation_files_checked": "فحص ملفات الترجمة: {translationFileCount}", "total_keys": "إجمالي المفاتيح: {totalKeys}", "translated_keys": "المفاتيح المترجمة: {translatedKeys}", "missing_keys": "المفاتيح المفقودة: {missingKeys}", "unused_keys": "المفاتيح غير المستخدمة: {unusedKeys}", "translation_coverage": "تغطية الترجمة: {coverage}%", "analysis_passed_for_language": "✅تم اجتياز التحليل ل {language}", "analysis_failed_for_language": "❌فشل التحليل ل {language} ({missingKeys} مفتقد، {unusedKeys} غير مستخدم)", "starting": "🔍 البدء بتحليل الترجمة...", "foundLanguages": "📋 وجدت {count} اللغات المراد تحليلها: {languages}", "analyzing": "🔄 التحليل {language}...", "reportTitle": "📊 تقرير تحليل الترجمة", "generated": "تم إنشاؤها: {timestamp}", "status": "حالة: {translated}/{total} المفاتيح ({percentage}النسبة المئوية المترجمة)", "filesAnalyzed": "الملفات التي تم تحليلها: {analyzed}/{total}", "keysNeedingTranslation": "المفاتيح التي تحتاج إلى ترجمة: {count}", "fileBreakdown": "📋 انهيار الملف", "error": "خطأ", "completed": "✅ تم الانتهاء من التحليل ل {language}", "progress": "📊 التقدم العام: {translated}/{total} اللغات التي تمت معالجتها", "reportSaved": "تم حفظ التقرير: {reportPath}", "summary": "📊 ANALYSIS SUMMARY", "finished": "✅ تم التحليل بنجاح!", "statusFileMissing": "❌ملف الترجمة مفقود", "sourceKeys": "📊 مفاتيح المصدر: {count}", "translation": "📊 الترجمة : {translated}/{total} ({percentage}%)", "structure": "🗂️ الهيكل: {status}", "consistent": "ثابت", "inconsistent": "غير متناسق", "missingKeys": "المفاتيح المفقودة: {count}", "extraKeys": "مفاتيح اضافية: {count}", "issues": "⚠️ المشكلات التي تم العثور عليها: {count}", "issueType": { "not_translated": "غير مترجم: {count}", "empty_value": "القيم الفارغة: {count}", "partial_translation": "الترجمات الجزئية: {count}", "format_mismatch": "عدم تطابق التنسيق: {count}", "type_mismatch": "عدم تطابق النوع: {count}", "structure_mismatch": "عدم تطابق الهيكل: {count}", "same_as_source": "نفس المصدر : {count}" }, "keysToTranslate": "📋 مفاتيح للترجمة", "key": "مفتاح", "english": "إنجليزي", "needsTranslation": "يحتاج إلى ترجمة", "andMoreKeys": "...و {count} المزيد من المفاتيح.", "noLanguages": "⚠️ لم يتم العثور على اللغات المستهدفة.", "languageStats": "{language}: {percentage}٪ مكتمل ({translated}/{total} المفاتيح)", "invalidReportFilePath": "مسار ملف التقرير غير صالح", "failedToWriteReportFile": "فشل في كتابة ملف التقرير بشكل آمن" }, "complete": { "configLoadedSuccessfully": "تم تحميل التكوين بنجاح", "configLoadingFailed": "فشل تحميل التكوين", "sourceLanguageNotFound": "لم يتم العثور على دليل اللغة المصدر: {sourceLanguage}", "couldNotParseTarget": "لا يمكن تحليل الملف الهدف: {file}", "couldNotParseSource": "لا يمكن تحليل الملف المصدر: {file}", "reportGenerated": "تم إنشاء التقرير: {path}", "generateReportPrompt": "هل ترغب في إنشاء تقرير؟", "title": "🌍 إكمال ترجمة I18NTK", "separator": "============================================================", "sourceDir": "📁 دليل المصدر: {sourceDir}", "sourceLanguage": "🌐 لغة المصدر: {sourceLanguage}", "dryRunMode": "🧪 وضع التشغيل الجاف - لن يتم إجراء أي تغييرات", "languages": "🌍 اللغات المتاحة: {languages}", "addingMissingKeys": "➕ إضافة المفاتيح المفقودة لملفات الترجمة...", "processing": "🔄 المعالجة {language}...", "addedKeys": "✅ تمت الإضافة {count} المفاتيح المفقودة", "noChangesNeeded": "✅ لا حاجة لأي تغييرات {language}", "summaryTitle": "📊 ملخص الإنجاز", "totalChanges": "📝 إجمالي التغييرات: {totalChanges}", "languagesProcessed": "🌍 اللغات المعالجة: {languagesProcessed}", "missingKeysAdded": "➕ تمت إضافة المفاتيح المفقودة: {missingKeysAdded}", "nextStepsTitle": "📋 NEXT STEPS", "nextStep1": "1. تشغيل تحليل الاستخدام:", "nextStep2": "العقدة i18ntk-usage.js --output-report", "nextStep3": "2. التحقق من صحة الترجمات:", "nextStep4": "العقدة i18ntk-validate.js", "nextStep5": "3. تحليل الأنماط:", "nextStep6": "العقدة i18ntk-analyze.js", "allKeysAvailable": "🎉 جميع مفاتيح الترجمة متاحة الآن!", "runWithoutDryRun": "💡 قم بالتشغيل بدون --dry-run لتطبيق التغييرات", "deletingOldReport": "🗑️ حذف التقرير القديم...", "generatingFreshAnalysis": "📊 إنشاء تحليل الاستخدام الجديد...", "couldNotGenerate": "❌ لا يمكن إنشاء تحليل الاستخدام", "reportNotFound": "📋 لم يتم العثور على تقرير الاستخدام. استخدام المفاتيح المشتركة...", "foundMissingKeys": "📋 وجدت {count} المفاتيح المفقودة من تحليل الاستخدام", "couldNotParse": "❌ لا يمكن تحليل تقرير الاستخدام. استخدام المفاتيح المشتركة...", "errorDuringCompletion": "❌ خطأ أثناء الإكمال: {error}", "fatalError": "❌ خطأ فادح: {error}", "configurationValidationFailed": "فشل التحقق من صحة التكوين: الحقول المطلوبة مفقودة" }, "sizing": { "separator": "================================================================================", "lineSeparator": "--------------------------------------------------------------------------------", "analysisStats": "{stats}", "sourceDirectoryLabel": "📁 دليل المصدر: {sourceDir}", "sourceLanguageLabel": "🌍 لغة المصدر: {sourceLanguage}", "strictModeLabel": "⚙️ الوضع الصارم: {mode}", "invalidSourceDirectoryError": "مسار الدليل المصدر غير صالح: {sourceDir}", "sourceDirectoryNotFoundError": "لم يتم العثور على الدليل المصدر: {sourceDir}", "invalidOutputDirectoryError": "مسار دليل الإخراج غير صالح: {outputDir}", "invalidReportFileError": "مسار ملف التقرير غير صالح", "problematic_keys": "مفاتيح المشكلة: {problematicKeys}", "problematicKeysLabel": "مفاتيح المشكلة: {problematicKeys}", "long_translations": "الترجمات الطويلة: {longTranslations}", "failedToSaveReportError": "فشل حفظ التقرير بشكل آمن", "invalidCsvFileError": "مسار ملف CSV غير صالح", "failedToSaveCsvError": "فشل في حفظ تقرير CSV بشكل آمن", "fatalError": "❌ فشل تحليل الحجم: {error}", "starting_i18n_sizing_analysis": "بدء تحليل حجم i18n...", "source_directory": "الدليل المصدر: {sourceDir}", "found_languages": "اللغات التي تم العثور عليها: {languages}", "analyzing_file_sizes": "جارٍ تحليل أحجام الملفات...", "analyzing_translation_content": "تحليل محتوى الترجمة...", "generating_size_comparisons": "جارٍ إنشاء مقارنات الحجم...", "no_languages_found_for_comparison": "لم يتم العثور على لغات للمقارنة", "sizing_analysis_results": "نتائج تحليل التحجيم I18n", "file_sizes_title": "أحجام الملفات", "file_sizes_header": "حجم اللغة (كيلو بايت) خطوط الأحرف", "file_size_row": "{lang} {sizeKB} {lines} {characters}", "language_statistics_title": "إحصائيات اللغة", "language_stats_header": "مفاتيح اللغة الأحرف متوسط ​​الطول الحد الأقصى للطول فارغ طويل", "language_stats_row": "{lang} {totalKeys} {totalCharacters} {averageKeyLength} {maxKeyLength} {emptyKeys} {longKeys}", "size_variations_title": "اختلافات الحجم", "size_variations_header": "اللغة Char Diff % Diff إشكالية", "size_variation_row": "{lang} {characterDifference} {percentageDifference}% {problematic}", "problematic_yes": "نعم", "problematic_no": "لا", "recommendations_title": "التوصيات", "recommendation_item": "{index}. {recommendation}", "problematic_key_detail": "{index}. مفتاح: '{key}'- الاختلافات: {variations}", "generating_detailed_report": "جارٍ إنشاء تقرير مفصل...", "keysHaveSignificantSizeVariations": "المفاتيح لها اختلافات كبيرة في الحجم", "longTranslationsDetected": "${lang} يحتوي على ترجمات ${data.longKeys} أطول من 100 حرف - فكر في تقسيمها", "longer": "أطول", "shorter": "أقصر", "review_translations": "النظر في المراجعة {lang} الترجمات - هم {percentageDifference}% {comparison} من خط الأساس", "report_saved_to": "تم حفظ التقرير في: {reportPath}", "considerReviewingTranslations": "النظر في المراجعة ${lang} الترجمات - أطول بمقدار ${data.percentageDifference}% من خط الأساس", "csv_report_saved_to": "تم حفظ تقرير CSV في: {csvPath}", "human_report_saved": "تم حفظ التقرير المقروء: {reportPath}", "folder_summary_title": "ملخص المجلد", "folder_summary_table_header": "حجم اللغة (كيلو بايت) المفاتيح متوسط ​​الطول إجمالي الأحرف", "folder_summary_row": "{lang} {sizeKB} {totalKeys} {avgLength} {totalChars}", "language_comparison_title": "مقارنة اللغة", "language_comparison_row": "{lang}: {diff} الأحرف ({percent}%) {status}", "summary_stats": "📊 الملخص: {totalLanguages} اللغات, {totalKeys} المفاتيح - التقارير المحفوظة في {reportPath}", "detailedKeysDescription": "عرض تحليل مفصل على مستوى المفتاح في وحدة التحكم", "too_many_keys_warning": "⚠️ هناك عدد كبير جدًا من المفاتيح التي يمكن عرضها في وحدة التحكم - تحقق من ملف التقرير التفصيلي للتحليل الكامل", "no_translation_files_found": "لم يتم العثور على ملفات الترجمة", "analysis_completed": "انتهى التحليل في {duration}آنسة", "analysis_failed": "فشل التحليل: {errorMessage}", "starting_analysis": "بدء التحليل...", "found_files": "وجد {count} ملفات", "failed_to_parse_language_error": "فشل التحليل {language} الترجمات: {errorMessage}", "recommendations": { "keys_have_significant_size_variations": "المفاتيح لها اختلافات كبيرة في الحجم", "consider_reviewing_translations": "النظر في المراجعة {lang} الترجمات - هم {percentageDifference}% {comparison} من خط الأساس", "long_translations_detected": "{lang} لديه {longKeys} الترجمات أطول من {threshold} الشخصيات - فكر في تقسيمها" }, "detailed_key_analysis_title": "التحليل الرئيسي التفصيلي", "key_analysis_detail": "{lang}: {length} الأحرف ({status}) - {translation}", "key_analysis_header": "مفتاح: {key}", "status_empty": "فارغ", "status_long": "طويل", "status_ok": "نعم" }, "usage": { "help_message": "استخدام محلل استخدام I18n: العقدة i18ntk-usage.js [خيارات] الخيارات: --source-dir <dir> الدليل المصدر المراد مسحه (الافتراضي: ./src) --i18n-dir <dir> دليل I18n (الافتراضي: ./src/locales) --output-report إنشاء تقرير مفصل --output-dir <dir> دليل الإخراج للتقارير (الافتراضي: ./reports) --help عرض هذه المساعدة أمثلة: العقدة i18ntk-usage.js --output-report العقدة i18ntk-usage.js --source-dir=./app --i18n-dir=./locales العقدة i18ntk-usage.js --output-dir=./ana Analysis --output-report", "source_directory_thissourcedir": "📁 دليل المصدر: {sourceDir}", "translationCompletenessTitle": "🌍 اكتمال الترجمة:", "i18n_directory_thisi18ndir": "🌐 دليل I18n: {i18nDir}", "failed_to_parse_filename_error": "⚠️ فشل التحليل {fileName}: {errorMessage}", "analyzing_source_files": "🔍 تحليل الملفات المصدرية...", "found_files_in_source": "📂 وجدت {numFiles} الملفات في الدليل المصدر", "found_thisusedkeyssize_unique_": "🎯 وجدت {usedKeysSize} مفاتيح مستعملة فريدة من نوعها", "total_key_usages_totalkeysfoun": "📊 إجمالي استخدامات المفاتيح: {totalKeysFound}", "loading_available_translation_": "📋 جارٍ تحميل مفاتيح الترجمة المتوفرة...", "found_thisavailablekeyssize_av": "✅ وجدت {availableKeysSize} المفاتيح المتاحة", "foundTranslationFiles": "✅ وجدت {count} ملفات الترجمة", "errorReadingI18nDirectory": "⚠️ خطأ في قراءة دليل i18n: {error}", "pressEnterToReturnToMenu": "📝 اضغط على Enter للعودة إلى القائمة الرئيسية...", "notTranslatedKeysTotal": "⚠️ المفاتيح غير المترجمة: {total}", "noSourceFilesFound": "⚠️ لم يتم العثور على ملفات المصدر في الدليل المصدر.", "reviewNotTranslatedKeys": "💡 مراجعة المفاتيح غير المترجمة", "analysisCompletedSuccessfully": "🎉 تم الانتهاء من التحليل بنجاح!", "detectedSourceDirectory": "دليل المصدر المكتشف: {sourceDir}", "detectedI18nDirectory": "تم اكتشاف دليل i18n: {i18nDir}", "fileInfo": "📄 {namespace}: {keys} مفاتيح", "failedToAnalyzeUsage": "❌ فشل تحليل الاستخدام: {error}", "failedToAnalyzeFile": "❌ فشل تحليل الملف: {error}", "failedToExtractKeys": "❌ فشل في استخراج المفاتيح من {filePath}: {error}", "analysisFailedError": "❌ فشل التحليل: {error}", "analyzerInitialized": "تمت تهيئة المحلل", "analyzerInitFailed": "فشلت تهيئة المحلل: {error}", "argsParsed": "تم تحليل الحجج", "processedFiles": "تمت معالجتها {processedFiles} ل {totalFiles} ملفات.", "argsParseFailed": "فشل تحليل الوسيطة: {error}", "translationDiscoveryError": "خطأ في اكتشاف الترجمة: {error}", "fileTraversalError": "خطأ في اجتياز الملف: {error}", "sourceEqualsI18nWarn": "{reason}. لن يقوم تحليل الاستخدام بفحص الملفات المحلية كرمز مصدر.", "i18nEqualsSourceWarn": "⚠️ دليل I18n والدليل المصدر هما نفس الشيء. قد يسبب هذا مشاكل في التحليل.", "usageAnalysisFailed": "⚠️ فشل تحليل الاستخدام: {error}", "translationFileParseError": "⚠️ خطأ في تحليل ملف الترجمة: {error}", "translationKeysLoadError": "⚠️ خطأ في تحميل مفاتيح الترجمة: {error}", "languageCompletenessStats": "🌐 {language}: {translated}/{total} ({completeness}النسبة المئوية المترجمة)", "missingKeysCount": "⚠️ المفاتيح المفقودة: {count}", "analyzingTranslationCompleteness": "تحليل اكتمال الترجمة...", "unusedKeysCount": "المفاتيح غير المستخدمة: {count}", "usedKeysCount": "المفاتيح المستعملة: {count}", "availableKeysCount": "المفاتيح المتاحة: {count}", "analysisResults": "نتائج التحليل:", "i18nDirectoryNotFound": "⚠️ لم يتم العثور على دليل I18n. يرجى التحقق من المسار.", "sourceDirectoryNotFound": "⚠️ لم يتم العثور على دليل المصدر: {dir}", "checkUsage": { "title": "🔍 I18NTK USAGE ANALYSIS", "analyzing_source_files": "🔍 تحليل الملفات المصدرية...", "source_directory_thissourcedir": "📁 دليل المصدر: {sourceDir}", "i18n_directory_thisi18ndir": "📁 دليل i18n: {i18nDir}", "found_files_in_source": "✅ وجدت {numFiles} الملفات في الدليل المصدر", "no_source_files_found": "⚠️ لم يتم العثور على ملفات المصدر في الدليل المحدد", "processedFiles": "📊 تمت المعالجة {processedFiles} ل {totalFiles} ملفات", "failedToProcessFile": "❌فشلت المعالجة", "found_thisusedkeyssize_unique_": "🔍 وجدت {usedKeysSize} مفاتيح مستعملة فريدة من نوعها", "total_key_usages_totalkeysfoun": "📊 إجمالي استخدامات المفاتيح: {totalKeysFound}", "loading_available_translation_": "📂 جارٍ تحميل مفاتيح الترجمة المتوفرة...", "found_thisavailablekeyssize_av": "✅ وجدت {availableKeysSize} المفاتيح المتاحة", "message": "جارٍ تحليل استخدام مفتاح الترجمة عبر مشروعك...", "usage_analysis_results": "📊 USAGE ANALYSIS RESULTS", "source_files_scanned_thisfileu": "📁 الملفات المصدرية الممسوحة ضوئيا: {fileUsageSize}", "available_translation_keys_thi": "✅ مفاتيح الترجمة المتاحة: {availableKeysSize}", "used_translation_keys_thisused": "🔍 مفاتيح الترجمة المستخدمة: {usedKeysSize}", "dynamic_keys_detected_dynamick": "⚡ تم اكتشاف المفاتيح الديناميكية: {dynamicKeysLength}", "unused_keys_unusedkeyslength": "🗑️ المفاتيح غير المستخدمة: {unusedKeysLength}", "missing_keys_missingkeyslength": "❌ المفاتيح المفقودة: {missingKeysLength}", "translation_completeness_title": "📈 اكتمال الترجمة", "language_completeness_stats": "{language}: {translated}/{total} المفاتيح ({percentage}%)", "n_sample_unused_keys": "🗑️ نماذج من المفاتيح غير المستخدمة (أول 5):", "key": "🔑 {key}", "and_unusedkeyslength_5_more": "... و {count} المزيد من المفاتيح غير المستخدمة", "n_sample_missing_keys": "❌ عينة من المفاتيح المفقودة (أول 5):", "and_missingkeyslength_5_more": "... و {count} المزيد من المفاتيح المفقودة", "n_generating_detailed_report": "📊 إصدار تقرير مفصل...", "report_saved_reportpath": "📄 تم حفظ التقرير: {reportPath}", "n_recommendations": "💡 التوصيات:", "consider_removing_unused_trans": "🗑️ فكر في إزالة الترجمات غير المستخدمة لتقليل حجم الحزمة", "add_missing_translation_keys_t": "➕ أضف مفاتيح الترجمة المفقودة للحفاظ على الاتساق", "review_dynamic_keys_manually_t": "🔍 مراجعة المفاتيح الديناميكية يدويًا (قد تكون صالحة)", "all_translation_keys_are_prope": "✅ يتم استخدام جميع مفاتيح الترجمة بشكل صحيح!", "n_next_steps": "🎯 NEXT STEPS:", "2_check_the_detailed_report_fo": "2. التحقق من التقرير التفصيلي لقضايا محددة", "help_message": "استخدام محلل استخدام I18n: العقدة i18ntk-usage.js [خيارات] الخيارات: --source-dir <dir> الدليل المصدر المراد مسحه (الافتراضي: ./src) --i18n-dir <dir> دليل I18n (الافتراضي: ./src/locales) --output-report إنشاء تقرير مفصل --output-dir <dir> دليل الإخراج للتقارير (الافتراضي: ./reports) --help عرض هذه المساعدة أمثلة: العقدة i18ntk-usage.js --output-report العقدة i18ntk-usage.js --source-dir=./app --i18n-dir=./locales العقدة i18ntk-usage.js --output-dir=./ana Analysis --output-report", "1_review_the_analysis_results": "1. قم بمراجعة نتائج التحليل في وحدة التحكم أو التقرير الذي تم إنشاؤه.", "2_run_with_outputreport_for_de": "2. قم بتشغيل --output-report للحصول على تقرير مفصل.", "3_remove_unused_keys_or_add_mi": "3. قم بإزالة المفاتيح غير المستخدمة أو أضف المفاتيح المفقودة إلى كود المصدر الخاص بك.", "4_rerun_analysis_to_verify_imp": "4. أعد تشغيل التحليل للتحقق من التحسينات.", "noSourceFilesFound": "لم يتم العثور على ملفات مصدر لتحليلها.", "i18nDirectoryNotFound": "لم يتم العثور على دليل I18n: {i18nDir}", "noTranslationLanguagesFound": "لم يتم العثور على لغات الترجمة.", "failedToAnalyzeFile": "فشل في تحليل الملف {filePath}: {error}", "failedToAnalyzeLanguage": "فشل في تحليل اللغة {language}: {error}", "translationCompletenessAnalysisFailed": "فشل تحليل اكتمال الترجمة: {error}", "n": "\\n" }, "complete": { "configLoadedSuccessfully": "تم تحميل التكوين بنجاح", "configLoadingFailed": "فشل تحميل التكوين", "title": "🌍 إكمال ترجمة I18NTK", "separator": "============================================================", "sourceDir": "📁 دليل المصدر: {sourceDir}", "sourceLanguage": "🌐 لغة المصدر: {sourceLanguage}", "dryRunMode": "🧪 وضع التشغيل الجاف - لن يتم إجراء أي تغييرات", "languages": "🌍 اللغات المتاحة: {languages}", "addingMissingKeys": "➕ إضافة المفاتيح المفقودة لملفات الترجمة...", "processing": "🔄 المعالجة {language}...", "addedKeys": "✅ تمت الإضافة {count} المفاتيح المفقودة", "changeDetails": "📝 {file}: {key}", "andMore": "...و {count} أكثر", "noChangesNeeded": "✅ لا حاجة لأي تغييرات {language}", "summaryTitle": "📊 ملخص الإنجاز", "totalChanges": "📝 إجمالي التغييرات: {totalChanges}", "languagesProcessed": "🌍 اللغات المعالجة: {languagesProcessed}", "missingKeysAdded": "➕ تمت إضافة المفاتيح المفقودة: {missingKeysAdded}", "nextStepsTitle": "📋 NEXT STEPS", "nextStep1": "1. تشغيل تحليل الاستخدام:", "nextStep2": "العقدة i18ntk-usage.js --output-report", "nextStep3": "2. التحقق من صحة الترجمات:", "nextStep4": "العقدة i18ntk-validate.js", "nextStep5": "3. تحليل الأنماط:", "nextStep6": "العقدة i18ntk-analyze.js", "allKeysAvailable": "🎉 جميع مفاتيح الترجمة متاحة الآن!", "runWithoutDryRun": "💡 قم بالتشغيل بدون --dry-run لتطبيق التغييرات", "deletingOldReport": "🗑️ حذف التقرير القديم...", "generatingFreshAnalysis": "📊 إنشاء تحليل الاستخدام الجديد...", "couldNotGenerate": "❌ لا يمكن إنشاء تحليل الاستخدام", "reportNotFound": "📋 لم يتم العثور على تقرير الاستخدام. استخدام المفاتيح المشتركة...", "foundMissingKeys": "📋 وجدت {count} المفاتيح المفقودة من تحليل الاستخدام", "couldNotParse": "❌ لا يمكن تحليل تقرير الاستخدام. استخدام المفاتيح المشتركة..." }, "noTranslationLanguagesFound": "لم يتم العثور على لغات الترجمة", "failedToAnalyzeLanguage": "فشل في تحليل اللغة", "translationCompletenessAnalysisFailed": "فشل تحليل اكتمال الترجمة", "failedToProcessFile": "فشل في معالجة الملف:", "failedToSaveReport": "فشل حفظ تقرير الاستخدام: {error}", "i18nDirectoryDoesNotExist": "دليل I18n غير موجود: {dir}", "reportSavedTo": "تم حفظ تقرير الاستخدام في: {reportPath}", "sourceDirectoryDoesNotExist": "الدليل المصدر غير موجود: {dir}", "noSourceDirectoryConfigured": "(لم يتم تكوين أي شيء)" }, "validate": { "help_message": "استخدام أداة التحقق من ترجمة I18n: عقدة i18ntk-validate.js [خيارات] الخيارات: --source-dir <dir> الدليل المصدر المراد مسحه (الافتراضي: ./src) --i18n-dir <dir> دليل I18n (الافتراضي: ./src/locales) --output-report إنشاء تقرير مفصل --output-dir <dir> دليل الإخراج للتقارير (الافتراضي: ./reports) --help إظهار هذه المساعدة أمثلة: العقدة i18ntk-validate.js --output-report العقدة i18ntk-validate.js --source-dir=./app --i18n-dir=./locales العقدة i18ntk-validate.js --output-dir=./ana Analysis --output-report", "title": "🔍 مدقق الترجمة I18n", "message": "بدء عملية التحقق...", "sourceDirectory": "📁 دليل المصدر: {dir}", "sourceLanguage": "🌍 لغة المصدر: {sourceLanguage}", "strictMode": "⚙️ الوضع الصارم: {mode}", "noTargetLanguages": "لم يتم تكوين اللغات المستهدفة؛ تخطي التحقق من صحة الهدف. أضف لغات عبر \"i18ntk init --languages=de,fr\".", "validatingLanguages": "🌍 التحقق من اللغات: {langs}", "validatingLanguage": "🔍 التحقق من اللغة: {lang}", "filesCount": "📄 الملفات: {count}", "keysCount": "🔑 المفاتيح: {count}", "missingFilesCount": "📁 الملفات المفقودة: {count}", "syntaxErrorsCount": "❌ أخطاء نحوية: {count}", "translationPercentage": "🎯 الترجمة: {percentage}% ({translated}/{total} المفاتيح)", "validationSummary": "📊 ملخص التحقق", "validation_failed": "❌ فشل التحقق: {error}", "totalErrors": "❌ إجمالي الأخطاء: {count}", "totalWarnings": "⚠️ إجمالي التحذيرات: {count}", "errorsSection": "❌ ERRORS", "warningsSection": "⚠️ WARNINGS", "recommendationsSection": "💡 التوصيات", "fixErrorsFirst": "1. قم بإصلاح جميع الأخطاء أولاً", "resolveMissingFilesAndSyntaxErrors": "1. حل الملفات المفقودة وأخطاء بناء الجملة", "fixStructuralInconsistencies": "2. إصلاح التناقضات الهيكلية", "completeMissingTranslations": "3. أكمل الترجمات المفقودة", "rerunValidation": "4. أعد تشغيل التحقق من الصحة للتحقق من الإصلاحات", "addressWarnings": "معالجة التحذيرات لتحسين الجودة", "reviewWarnings": "قم بمراجعة التحذيرات وإصلاحها عند الاقتضاء", "considerRunningWithStrict": "2. فكر في التشغيل باستخدام علامة --strict للتحقق من الصحة بشكل أكثر صرامة", "allValidationsPassed": "🎉 تم اجتياز جميع عمليات التحقق!", "considerRunningUsageAnalysis": "فكر في تشغيل تحليل الاستخدام: العقدة i18ntk-usage.js", "deletedOldReport": "🗑️ تم حذف تقرير التحقق القديم", "sourceDir": "📁 دليل المصدر: {sourceDir}", "i18nDir": "🌐 دليل I18n: {i18nDir}", "loadingTranslationFiles": "📋 جاري تحميل ملفات الترجمة...", "foundTranslationFilesCount": "✅ وجدت {count} ملفات الترجمة", "analyzingTranslations": "🔍 تحليل الترجمات...", "validationCompletedSuccessfully": "🎉 تم التحقق من الصحة بنجاح!", "validationErrorsFound": "⚠️ تم العثور على أخطاء في التحقق: {count}", "validationWarningsFound": "⚠️ تم العثور على تحذيرات التحقق: {count}", "validationPassed": "✅ تم التحقق من الصحة بدون أخطاء", "validationFailed": "فشل التحقق من الصحة: {error}", "startingValidationProcess": "🔍 بدء عملية التحقق...", "validationProcessCompletedSuccessfully": "✅ تمت عملية التحقق بنجاح", "stackTrace": "تتبع المكدس: {stack}", "authenticationFailed": "❌فشلت المصادقة. تم الرفض.", "fatalValidationError": "❌ خطأ فادح في التحقق من الصحة: {error}", "configAccess": "الوصول إلى التكوين للتحقق من الصحة", "configValidated": "تم التحقق من صحة التكوين بنجاح", "configError": "خطأ في التكوين: {error}", "validatorInit": "تهيئة أداة التحقق من صحة I18n", "validatorInitialized": "تمت تهيئة أداة التحقق من صحة I18n بنجاح", "validatorInitError": "خطأ في تهيئة أداة التحقق: {error}", "argsParsing": "تحليل وسيطات سطر الأوامر", "argsParsed": "تم تحليل وسيطات سطر الأوامر بنجاح", "argsParseError": "خطأ في تحليل الوسيطة: {error}", "languagesScan": "مسح اللغات المتاحة", "languagesFound": "وجد {count} اللغات", "languagesScanError": "خطأ في مسح اللغة: {error}", "filesScan": "وجد {count} الملفات في {language}", "filesScanError": "خطأ في فحص الملف: {error}", "jsonValidated": "تم التحقق من صحة بناء جملة JSON: {filePath}", "jsonValidationError": "خطأ في التحقق من صحة JSON: {error}", "languageValidation": "التحقق من صحة اللغة: {language}", "languageValidationError": "خطأ في التحقق من صحة اللغة: {error}", "fileDeleted": "تم حذف الملف", "runStarted": "بدء تشغيل التحقق من الصحة", "runCompleted": "تم إكمال عملية التحقق من الصحة بنجاح", "runError": "فشل تشغيل التحقق من الصحة: {error}", "scriptExecution": "تنفيذ البرنامج النصي", "validationCompleted": "اكتمل التحقق", "validationError": "خطأ في التحقق: {error}", "separator": "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━", "languageHeader": "🌐 اللغة: {language}", "validationResults": "📊 نتائج التحقق", "noErrors": "✅ لم يتم العثور على أخطاء", "noWarnings": "✅ لم يتم العثور على أي تحذيرات", "summaryHeader": "📋 OVERALL SUMMARY", "progressIndicator": "⏳ المعالجة...", "completedIndicator": "✅ مكتمل", "errorIndicator": "❌ خطأ", "warningIndicator": "⚠️تحذير", "infoIndicator": "ℹ️ معلومات", "sourceDirNotConfigured": "لم يتم تكوين الدليل المصدر", "sourceLanguageNotConfigured": "لم يتم تكوين لغة المصدر", "translationFunctionNotInitialized": "لم تتم تهيئة وظيفة الترجمة بشكل صحيح", "sourceLanguageDirectoryNotFound": "لم يتم العثور على دليل اللغة المصدر", "specifiedLanguageNotFound": "لم يتم العثور على اللغة المحددة", "noJsonFilesFound": "لم يتم العثور على ملفات JSON في الدليل المصدر: {sourceDir}", "i18nDirectoryNotFound": "لم يتم العثور على دليل I18n: {i18nDir}", "invalidDirectoryPaths": "تم اكتشاف مسارات دليل غير صالحة", "invalidSampleFilePath": "مسار ملف العينة غير صالح", "failedToCreateSampleTranslationFile": "فشل في إنشاء ملف ترجمة نموذجي", "invalidFilePathDetected": "تم اكتشاف مسار ملف غير صالح", "failedToWriteFile": "فشل في كتابة الملف: {filePath}", "invalidSourceDirectory": "دليل المصدر غير صالح: {sourceDir}", "invalidSourceLanguageDirectory": "دليل اللغة المصدر غير صالح: {sourceDir}" }, "adminCli": { "setupPinProtectionTitle": "🔐 إعداد حماية رقم التعريف الشخصي للمسؤول", "setupPinProtectionDescription": "سيتطلب ذلك رقم PIN مكونًا من 4 إلى 6 أرقام للعمليات الإدارية.", "enablePinProtectionPrompt": "هل تريد تمكين حماية PIN للمشرف؟", "setupCancelled": "تم إلغاء إعداد حماية رقم التعريف الشخصي للمشرف.", "enterPinPrompt": "أدخل رقم التعريف الشخصي المكون من 4 إلى 6 أرقام:", "pinFormatError": "❌ يجب أن يتكون رقم التعريف الشخصي من 4 إلى 6 أرقام. يرجى المحاولة مرة أخرى.", "confirmPinPrompt": "تأكيد رقم التعريف الشخصي:", "pinMismatchError": "❌ أرقام التعريف الشخصية غير متطابقة. يرجى المحاولة مرة أخرى.", "pinProtectionEnabledSuccess": "✅ تم تمكين حماية PIN للمشرف بنجاح!", "pinRecoveryWarning": "⚠️ تذكر رقم التعريف الشخصي الخاص بك - لا يمكن استعادته في حالة فقدانه.", "setupPinProtectionFailed": "❌ فشل في إعداد حماية رقم التعريف الشخصي للمشرف.", "errorSettingUpPin": "❌ خطأ في إعداد رقم التعريف الشخصي للمشرف: {message}", "authRequiredForOperation": "🔐 مصادقة المسؤول مطلوبة من أجل: {operation}", "invalidPinFormat": "❌ تنسيق رقم التعريف الشخصي غير صالح. يجب أن يتكون رقم التعريف الشخصي من 4 إلى 6 أرقام.", "authenticationSuccess": "✅ المصادقة ناجحة!", "invalidPinAttemptsRemaining": "❌ رقم التعريف الشخصي غير صالح. {remaining} باقي المحاولات", "authenticationFailedAccessDenied": "❌فشلت المصادقة. تم الرفض.", "authenticationError": "❌ خطأ في المصادقة: {message}", "pinProtectionNotEnabled": "حماية PIN للمشرف غير ممكّنة حاليًا.", "disablingPinProtectionTitle": "🔓 تعطيل حماية رقم التعريف الشخصي للمشرف", "confirmDisablePinProtection": "هل أنت متأكد من أنك تريد تعطيل حماية PIN للمشرف؟", "operationCancelled": "تم إلغاء العملية.", "pinProtectionDisabledSuccess": "✅ تم تعطيل حماية PIN للمشرف.", "disablePinProtectionFailed": "❌ فشل في تعطيل حماية رقم التعريف الشخصي للمشرف.", "errorDisablingPinProtection": "❌ خطأ في تعطيل حماية المسؤول: {message}", "adminProtectionStatusTitle": "🔐 حالة حماية المسؤول", "statusEnabled": "الحالة: ✅ ممكّن", "protectionDetails": "الحماية: مطلوب رقم PIN مكون من 4 إلى 6 أرقام لعمليات الإدارة", "lockoutDetails": "الإغلاق: 3 محاولات فاشلة = إغلاق لمدة 15 دقيقة", "statusDisabled": "الحالة: ❌ معاق", "noAuthRequired": "الحماية: لا حاجة للمصادقة", "unprotectedRisk": "الخطر: العمليات الإدارية غير محمية", "errorCheckingAdminStatus": "❌ خطأ في التحقق من حالة المسؤول: {message}", "authRequired": "🔐 مصادقة المسؤول مطلوبة.", "invalidPin": "❌ رقم التعريف الشخصي غير صالح.", "authSuccess": "✅ المصادقة ناجحة!", "adminPinSetupCli": "admin_pin_setup_cli", "adminAuthFailedCli": "admin_auth_failed_cli", "adminAuthDisabledCli": "admin_auth_disabled_cli", "protectedAccess": "الوصول المحمي: مصادقة المسؤول مطلوبة للعمليات الحساسة.", "enterPin": "أدخل رقم التعريف الشخصي للمشرف:", "accessGranted": "تم منح الوصول." }, "adminPin": { "setup_title": "🔐 إعداد رقم التعريف الشخصي للمسؤول", "setup_separator": "============================================================", "setup_description": "قم بإنشاء رقم تعريف شخصي مكون من 4 إلى 6 أرقام لوصول المسؤول إلى الإعدادات الحساسة.", "required_for_title": "سيكون رقم التعريف الشخصي هذا مطلوبًا من أجل:", "required_for_1": "• تغيير إعدادات الأمان", "required_for_2": "• تعديل التكوينات المتقدمة", "required_for_3": "• الوصول إلى أدوات التصحيح", "required_for_4": "• إعادة ضبط الإعدادات", "setup_note": "💡 ملحوظة: سترى العلامات النجمية (*) أثناء الكتابة - هذه مجرد أحرف مخفية.", "setup_digits_only": "يتم قبول الأرقام من 0 إلى 9 فقط كأرقام PIN.", "invalid_pin_length": "❌ رقم التعريف الشخصي غير صالح. يجب أن يتكون من 4 إلى 6 أرقام (الأرقام من 0 إلى 9 فقط).", "invalid_pin_example": "مثال: 1234 أو 567890", "pins_do_not_match": "❌ أرقام التعريف الشخصية غير متطابقة.", "setup_success": "✅ تم تعيين رقم التعريف الشخصي للمشرف بنجاح!", "setup_warning": "⚠️ حافظ على رقم التعريف الشخصي هذا آمنًا. ولا يمكن استعادتها في حالة فقدانها.", "setup_error": "❌ خطأ في إعداد رقم التعريف الشخصي:", "session_expired": "⏰ انتهت صلاحية جلسة الإدارة بسبب عدم النشاط.", "no_pin_set_setting_up": "⚠️ لم يتم تعيين رقم تعريف شخصي للمشرف. جارٍ إعداد رقم التعريف الشخصي...", "no_pin_configured_access_denied": "⚠️ لم يتم تكوين رقم التعريف الشخصي للمشرف. تم الرفض.", "use_admin_settings_to_set_pin": "💡 استخدم إعدادات المسؤول لإعداد رقم التعريف الشخصي أولاً.", "locked_out": "🔒 تم قفل وصول المسؤول بسبب عدد كبير جدًا من المحاولات الفاشلة.", "wait_before_retry": "يرجى الانتظار لمدة 5 دقائق قبل المحاولة مرة أخرى.", "access_granted": "✅ تم منح حق الوصول الإداري.", "incorrect_pin": "❌ رقم التعريف الشخصي غير صحيح. {attempts} باقي المحاولات", "verify_pin_error": "❌ خطأ في التحقق من رقم التعريف الشخصي:", "already_configured": "✅ تم تكوين رقم التعريف الشخصي للمشرف بالفعل.", "optional_setup_