حياك الله اخى الكريم
ان شاء الله يفيدك خبرائنا بالاجابة الأكيدة
ولحين حدوث ذلك دعنى احاول مساعدتك
تفضل هذا الدليل الاسترشادى:
ما دمت قد وصلت إلى مرحلة تعديل ملفات .dlx و.xml ولم يتغير شيء،
فغالبًا أن التطبيق يحمّل ملفات اللغة من داخل ملف الـ .dll مباشرة،
أو أن تلك الملفات مضغوطة بداخله ويجب تعديلها من المصدر.
بما أنك استخدمت dnSpy، فأنت بالفعل على الطريق الصحيح،
وسأشرح لك خطوات التعديل على ملفات اللغة داخل الـ DLL باستخدام dnSpy
وإعادة حفظها بالشكل السليم:
الخطوات لتعديل محتوى ملفات اللغة داخل DLL بواسطة dnSpy:
- افتح ملف الـ DLL في dnSpy:
- شغّل dnSpy.
- افتح الـ DLL من خلال File > Open.
- في الجزء الأيسر، ستظهر بنية الـ DLL (الأسماء تكون غالبًا على شكل أسماء مساحات Namespaces).
- استعرض الموارد (Resources):
- ابحث عن قسم يحمل اسم Resources أو Embedded Resources.
- افتحه وابحث عن الملفات التي لاحظت أن فيها محتوى لغوي (مثلاً .xml أو .dlx مضمنة).
- تعديل الموارد:
- اضغط بزر الماوس الأيمن على الملف المراد تعديله داخل الموارد، واختر:
- Save أو Extract لحفظه خارجيًا وتعديله.
- بعد التعديل احفظ الملف المعدل.
- إعادة تضمين الملف المعدل داخل الـ DLL:
- اضغط مجددًا على Resources داخل dnSpy.
- اضغط بزر الماوس الأيمن واختر:
- Edit Class أو Edit Resource.
- أو اضغط بزر الماوس الأيمن على الملف القديم واختر Remove.
- ثم اضغط بزر الماوس الأيمن واختر Add Resource وأضف الملف المعدل.
- حفظ الـ DLL بعد التعديل:
- من قائمة File اختر Save Module.
- ستظهر نافذة بها إعدادات الحفظ، اختر:
- Mode: File
- ثم اضغط OK لحفظ النسخة المعدلة من الـ DLL.
- استبدال النسخة القديمة بالنسخة الجديدة:
- انسخ الـ DLL المعدل إلى مجلد البرنامج، بعد أخذ نسخة احتياطية من الأصل.
- أعد تشغيل التطبيق وتحقق من تغيّر اللغة.
تنبيه مهم:
- تأكد أن تعديلاتك لا تخل بالبنية الأصلية للملف، خصوصًا إذا كنت تستخدم XML، لأن أي خطأ بسيط قد يجعل التطبيق يتوقف عن العمل.
- أحيانًا تكون النصوص مشفرة أو مضغوطة داخل DLL بطريقة غير واضحة، لذا إذا لم تجد نصوص اللغة بشكل صريح، قد تحتاج لاستخدام برامج أقوى مثل ILSpy أو محررات Hex مثل HxD (للحالات المتقدمة).
.