
اداء بسيط وخفيف لتعديل او تشويه اللغه العربيه من رموز او علامات لاي ملف تعريب منتدى
ارفع اي ملف نفس
vbulletin-language.xml
الاداء باسم fix_vbulletin.py
يخرج لك نفس الحجم ويعدل لك الاخطاء
ويخرج لك باسم
vbulletin-language-fixed.xml
انسخ الكود وارفعه في : fix_vbulletin.py
https://www.hayef5.com/m101/html-mp3/maililf-101/
from pathlib import Path
INPUT_FILE = Path("vbulletin-language.xml")
OUTPUT_FILE = Path("vbulletin-language-fixed.xml")
print("=" * 60)
print(" vBulletin 3.8.12 - Arabic Language Repair HaYeF5 KuwaiT")
print("=" * 60)
if not INPUT_FILE.exists():
print("\nلم يتم العثور على الملف:")
print(INPUT_FILE.resolve())
input("\nاضغط Enter للخروج...")
raise SystemExit
try:
raw = INPUT_FILE.read_bytes()
print(f"\nحجم الملف الأصلي: {len(raw):,} bytes")
print("جاري إصلاح الترميز...")
# الملف الحالي يحتوي على عربي مشوه من نوع:
# ÇáÏÎæá ãÍÙæÑ
#
# هذه العملية تعكس التحويل الخاطئ:
# Windows-1256 -> Windows-1252/Latin
#
# ثم تعيد النص إلى Windows-1256 الصحيح.
wrong_text = raw.decode("cp1252")
fixed_text = wrong_text.encode("cp1252").decode("cp1256")
# تعريف XML
if fixed_text.startswith("<?xml"):
end = fixed_text.find("?>")
if end != -1:
fixed_text = (
'<?xml version="1.0" encoding="windows-1256"?>'
+ fixed_text[end + 2:]
)
# التأكد من إعداد vBulletin
fixed_text = fixed_text.replace(
"<charset><![CDATA[utf-8]]></charset>",
"<charset><![CDATA[windows-1256]]></charset>"
)
# حفظ الملف فعليًا Windows-1256
output_data = fixed_text.encode("cp1256")
OUTPUT_FILE.write_bytes(output_data)
print("\nتم الإصلاح بنجاح!")
print("-" * 60)
print(f"حجم الملف الجديد: {len(output_data):,} bytes")
print(f"الملف الجديد: {OUTPUT_FILE.resolve()}")
print("-" * 60)
# فحص سريع
if "الدخول محظور" in fixed_text:
print("\n✓ تم العثور على النص العربي بشكل صحيح.")
else:
print("\n⚠ لم يتم العثور على المثال المتوقع.")
print("لكن تم إنشاء الملف.")
except Exception as e:
print("\n" + "=" * 60)
print("حدث خطأ:")
print(type(e).__name__)
print(str(e))
print("=" * 60)
input("\nاضغط Enter للخروج...")
وسلامتكم


ليست هناك تعليقات: