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
JSON
{
"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_