الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

عمل موقع متعدد اللغات

بدأه Eng/Nesreen في 28 سبتمبر 2011 · 5 رد · 1,382 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمه الله وبركاته

لقد بحثت منذ فتره عن كيفية عمل موقع متعدد اللغات ولقد وجدت الحل الحمد الله في الموقع

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

أولا : انا عملت زر عربي وكتبت تحته هذا الكود:

  string culture = Request.Form["ar_btn"];
        if (culture == "Arabic")
            culture = "ar-EG";
        if (string.IsNullOrEmpty(culture))
            culture = "ar-EG";
        if (culture != "Auto")
        {
            System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo(culture);
            System.Threading.Thread.CurrentThread.CurrentCulture = ci;
            System.Threading.Thread.CurrentThread.CurrentUICulture = ci;
        }
        Session.Remove("x");
        Session.Add("x", "1");

وعملت زر أنجليزي وكتبت تحته هذا الكود:

  string culture = Request.Form["en_btn"];
        if (culture == "English")
            culture = "en-US";
        if (string.IsNullOrEmpty(culture))
            culture = "en-US";
        if (culture != "Auto")
        {
            System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo(culture);
            System.Threading.Thread.CurrentThread.CurrentCulture = ci;
            System.Threading.Thread.CurrentThread.CurrentUICulture = ci;
        }
        Session.Remove("x");
        Session.Add("x", "2");

وكتبت

  protected override void InitializeCulture()
    {
        string culture = Request.Form["Button2"];
        if (culture == "Arabic")
            culture = "ar-EG";
        else if (culture == "English")
            culture = "en-US";
        else
        {
            culture = "en-US";
        }
        if (Session["x"] != null)
        {
            if (Session["x"].ToString() == "1")
                culture = "ar-EG";
            else if (Session["x"].ToString() == "2")
                culture = "en-US";
        }
        System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo(culture);
        System.Threading.Thread.CurrentThread.CurrentCulture = ci;
        System.Threading.Thread.CurrentThread.CurrentUICulture = ci;
    }

أتنفذت بنجاح ولكن هناك مشكله وهي أن بعد فتره من الوقت ال session بيضيع ولو أنا مختاره مثلا عربي بعد فتره ال session بيطير

انا كنت محتاجه طريقه تانية بدل ال session

انا سمعت عن ال Cookies ولكن بحثت عنه ولم اعرف كيف يستخدم

ولكم جزيل الشكر

#2

السلام عليكم ورحمه الله وبركاته

اختي شوفي الروابط التاليه

http://msdn.microsoft.com/en-us/library/ms178194.aspx

http://msdn.microsoft.com/en-us/library/aa289495%28v=vs.71%29.aspx

http://www.codeproject.com/KB/aspnet/Cookies-in-ASP-NET.aspx

http://www.codeproject.com/KB/aspnet/cookies_in_c_.aspx

.:: Wish to become better and better ::.

#3
VB Helper كتب:

أشكرك اخي علي ردك وحس مساعدتك

ولكني عندي أستفسار....هل cookies يعمل عمل session

أي يحتفظ بقيمة أي شئ لمده طويله من الوقت من غير أن تطير القيمة

أرجو الرد لمساعدتي علي فهم الموضوع

#4

السلام عليكم ورحمه الله وبركاته

اختي الـ Session اتت كحل للمشاكل الموجوده في ملفات الكوكيز واكبرها الامان لأنها ملفات Text-based لذا فلا ينصح بحفظ بيانات مهمة بداخلها, اما بالنسبة لموضوعك يمكنك استخدامها ويمكنك تحديد قيمة الـ Expires لإنتهاء صلاحية الملف اذا اردتي

.:: Wish to become better and better ::.

#5
VB Helper كتب:

السلام عليكم ورحمه الله وبركاته

اختي الـ Session اتت كحل للمشاكل الموجوده في ملفات الكوكيز واكبرها الامان لأنها ملفات Text-based لذا فلا ينصح بحفظ بيانات مهمة بداخلها, اما بالنسبة لموضوعك يمكنك استخدامها ويمكنك تحديد قيمة الـ Expires لإنتهاء صلاحية الملف اذا اردتي

أشكرك أخي علي مساعدتك لي في فهم الموضوع سوف أنفذ موضوع ال session expire وإن شاء الله تكون فعالة كحل في مشروعي

مواضيع مشابهة