اخر المواضيع

آخر الأخبار
إختر لونك المفضل

عرض المحتوي

بحث

الخميس، 27 أغسطس 2026

برمجه خفيفه او اداء سكربت صغير يصلح ملف vbulletin-language.xml كامل دفعة واحدة

السفراني | أغسطس 27, 2026 |
السلام عليكم

 اداء بسيط وخفيف لتعديل او تشويه اللغه العربيه من رموز او علامات لاي ملف تعريب منتدى


ارفع اي ملف نفس 

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 للخروج...")


وسلامتكم

author

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

اضف تعليقك هنا