12

تطبيق c# يعمل على أكثر من لغة

عملت على تطبيق يعمل على لغتين العربية و الانجليزية ويتم تفعيل اللغة بمجرد اعادة تشغيل البرنامج ظننت أن الامور تسير على ما يرام الى ان أنشات Setup.exe بعد تثبيت هذا الاخير لم يعد يعمل البرنامج مثلما كان يعمل مع ملف debug الذي كان يعرض البرنامج باللغة التي يتم أختيارها هل لديكم فكرة عن هذا الخطأ علما ان هذا هو الكود المستعمل

            ;("Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("ar
يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

جرب هذين السطرين معا

        Thread.CurrentThread.CurrentCulture = new CultureInfo("ar");
        Thread.CurrentThread.CurrentUICulture = new CultureInfo("ar");

شكرا على الاجابة أخ عبد الرحمن

جربت الكود ولم ينجح

هل تعتمد على Resources ؟

أيضا جرب ar-SA بدلا من ar فقط

ما هي اللغات على جهازك

وكذلك استخدم التالي إذا أردت اعتماد صيغة تاريخ أو وقت أو عملة خاصة

        CultureInfo ci = new CultureInfo(Thread.CurrentThread.CurrentCulture.Name);
        ci.DateTimeFormat.ShortDatePattern = "dd/MM/yyyy";
        Thread.CurrentThread.CurrentCulture = ci;

إذا أردت أن تظهر #C بالشكل الصحيح فاكتب # ثم C

لأن كون الاتجاه عربي فهو يرسل أي رمز إلى أقصى اليسار

يجب أن تتأكد أن ملف resources.dll يتم نسخه إلى المجلد

حتى تتأكد أولا قم بنسخه من مجلد Debug والصقه في مجلد Release ثم شغل الملف التنفيذي

نسخت project.resources.dll الموجود على debug الى ملف release ولم تعمل

هل تستخدم هذا الشرط

#if DEBUG

لا أستخدم هذا الشرط

هل بالإمكان أن تصنع تطبيق جديد وتضع فيه فقط أسطر تغيير اللغة مع كونترول واحد

وجربه إن بقيت نفس المشكلة ارفع المشروع الجديد وضع الرابط لأنزله وأرى إن كان بالإمكان معرفة السبب والحل

اليك رابط التطبيق

اطلعت عليه وظننت في ابداية أنك كنت تقصد أنه في طور التنقيح Debug يعمل وطور التحرير Release لا يعمل

ولكن يبدو أني فهمت خطأ

فهو يعمل في كلتا الحالتين ولكن بعد تحزيمه ثم إعادة تثبيته لا يعمل

والسبب هو ملفات الريسورس أي عند عملية التحزيم يجب أن تختار مجلدات أو ملفات الموارد ليتم تضمينها في الحزمة

لأنه بعد التثبيت لا يجد إلا الافتراضي وهو الانجليزي

جربتها من قبل لكن لم تعمل

طيب حاول ببرامج تحزيم أخرى

لأني لم أتعرض لها من قبل لهذا لم أتمكن إيجاد حل للمشكلة

شكرا لتعاونك

العفو ، هذا واجب ولكني آسف أني لم أستطع حل المشكلة

ولو وجدت سبب جديد سأضعه إن شاء الله