النتائج 1 إلى 13 من 13

الموضوع: [ نقاش ] موقع متعدد اللغات والستايل : بدنا رأيك

  1. #1
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    509

    [ نقاش ] موقع متعدد اللغات والستايل : بدنا رأيك



    السلام عليكم ورحمة الله وبركاته اخواني ...

    نعم ... فكرة انشاء كلاس لكائن متعدد القيم , موقع متعدد اللغات او موقع متعدد الستايل نفس حركة منتديات vb بخصوص القائمة المنسدلة التي يتم منها تغيير لغة الموقع او الستايل اسفل صفحة المنتدى , لكن بدنا نعملها بدون قواعد بيانات ...

    الفكرة نظريا بخصوص تعدد اللغات :

    نقوم بتعمل مجلد فيه عدة ملفات كل ملف خاص بلغة ... ونقوم بتعريف جميع المصطلحات الي بدنا ياها داخل ملف اللغة + اتجاه الخط ...
    بعدها نقوم بتعريف متغير داخل صفحة الاتصال في السكربت او البرنامج او داخل جدول الاتصال في قاعدة البيانات ( بس هون ممكن نستعمل قاعدة البيانات ) .
    طبعا بعد تعريف المتغير نقوم بعمل انكلود لمتغير اللغة في كل صفحة .

    لحد هون كلشي تمام وفش اي مشكلة ... لكن بدنا نعمل حساب انو الوحيد الي رح يقدر يعدل متغير اللغة ان كان عن طريق ملف الاتصال او قاعدة البيانات هو المدير فقط !!

    تطبيق الفكرة برمجيا :

    1- عمل مجلد نسميه lang وبداخله نعمل ملف جديد ونسمي مثلا arabic.php واسا بدنا نعرف بعض المتغيرات داخل الملف لتوضيح الفكرة للجميع :

    كود PHP:
    <?php

    $lang_charset 
    "windows-1256";
    $lang_text_dir "rtl";

    define"LANG_homepage"  ,  "الرئيسية" );
    define"LANG_login"  ,  "تسجيل دخول" );
    define"LANG_logout"  ,  "تسجيل خروج" );

    ?>
    2- تعريف متغير اللغة في ملف الارتباط او في قاعدة البيانات :

    - في ملف الارتباط :

    كود PHP:
    $lang "lang/arabic.php"
    - في قاعدة البيانات :

    كود PHP:
    @mysql_query("INSERT INTO db_config_table(lang)" "VALUES('arabic.php')") OR die ( mysql_error() ); 
    3- احتواء ملف اللغة في كل ملف :

    - بحالة ملف ارتباط :

    كود PHP:
    include_once( "lang/" $lang ); 
    - بحالة قاعدة البيانات :

    كود PHP:
    $lang mysql_query("SELECT lang FROM db_config_table");
     
     
    include_once( 
    "lang/" $lang ); 
    ------------------------------------------

    السؤال الي بطرح نفسو اسا : كيف ممكن نخلي اي مستخدم يغير متغير اللغة بكيفو بدون ما يأثر على باقي الزوار وبدون استخدام جدول خاص باللغة في قاعدة البيانات ؟؟!!!


    ملاحظة : البعض منكم ممكن يقول ممكن هالشي بواسطة قاعدة البيانات وبدون استعمال جدول مخصص وانما نستعمل حقل واحد فقط !! اقول هالشي صعب ليش ؟؟ لانو لو اعطينا لكل زائر يغير قيمة حقل ملف اللغة في القاعدة فعدنها سوف يدخل كل زائر ويختار اللغة العربية ... بعدها يجي اجنبي يختار انجليزي يرجع العربي بعد ساعة يلاقي اللغة انجليزي !! هذه اكيد مسخرة .


    اقتراحي النظري : عند دخول زائر جديد يسجل له الموقع جلسة جديدة وينزل على جهازه ملف كوكيز فيه رقم الجلسة ومتغي اللغة الاخير ... بحيث لما يدخل كل مرة على الموقع تكون له لغتو الخاصة الا اذا تم حذف الكوكي .


    وطبعا فكرة الستايل المتعدد شبيهة %90 تقريبا نفس المشكلة ونفس الحلول ان شاء الله سوف تكون .


    وبعد ما عرضت عليكم الفكرة مع التطبيق مع المشكلة مع الاقتراح ... هاتو لنشوف نقاش حلو وبالاخر نطلع بنتيجة وكلاس مشترك وانا دخلت شبكة مامبو وكنت افكر رح الاقي حل لا ما لقيت ... يلا نبدع هون ونعمل اشي حلو ...



    بستنا الاقتراحات والحلول ...



    سلامات يا شطار





    __________________
    EbNCaNa اخوكم ابن قانا

    [درس] قائمة بريدية بأسهل الطرق بواسطة PHP

    [توقيعك يجب أن لا يكون أطول من 400 حرف يتضمن تجاوز كود المنتدى] - الى متى المعاناة يا حضرة الأدارة ؟


  2. #2
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    309


    اخي الطريقة سوف تكون عبر السيشون او الكوكيز مع اني افضل السيشون لانه سوف ينتهي مع اغلاق الموقع
    الطريقة سهلة الان عطيتك الطريقة اذا ابدا بها واي شي نحن موجودين باذن الله

    سلامات





    __________________
    Bruce - مدونة شديدة التخصص في PHP وتطبيقات الويب

  3. #3
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    509


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

    السؤال كيف بدنا نخلي المتصفح يحفظ ملف كوكيز بجهاز المستخدم !! ؟؟





    __________________
    EbNCaNa اخوكم ابن قانا

    [درس] قائمة بريدية بأسهل الطرق بواسطة PHP

    [توقيعك يجب أن لا يكون أطول من 400 حرف يتضمن تجاوز كود المنتدى] - الى متى المعاناة يا حضرة الأدارة ؟

  4. #4
    عضو نشيط
    تاريخ التسجيل
    May 2006
    المشاركات
    73


    السؤال كيف بدنا نخلي المتصفح يحفظ ملف كوكيز بجهاز المستخدم !! ؟؟
    بالنسبة لسوالك فان الطريقة كالأتي


    كود PHP:


    setcookie
    ("lang""arabic.php"); 
    وعند استدعاء القيمة تقوم باستدعائها كالأتي

    كود PHP:

    echo $_COOKIE["lang"]; 
    ولكني أفضل ان تقوم بتزويد خانه في جدول بيانات الأعضاء مثلا وتحفظ فيها الغة التي اختارها العضو لان بعض الاشخاص قد يكونوا غير مفعلين اعدادات الكوكيز في متصفحاتهم





    __________________
    أحمد فوزي
    مبرمج PHP
    مدونتي الشخصية
    العربي لخدمات المواقع

  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    509


    تسلم اخوي TheArabi يعني حل وبداية موفقة للعمل المشترك ...

    يعني خلينا نيجي للخيار الاول وهو خيار الكوكيز ونناقشو بشكل عملي ... عشان أتاكد اني فهمت عليك ونشرح للاخوة معنى الكود :

    اول شي نعمل نعرف قيمة الكوكي في متغير ... اذا كان الكوكي فارغ نعطي قيمة اولية وهي اللغة العربية ... ولما يسير فيه اللغة العربية نخلي هو المختار في القائمة المنسدلة من خلال المتغير a$ وكمان نفحص اذا كان الكوكي للغة الانجليزية نعطي خيار الاخيرة هو الرئيسي بالقائمة ... اما اذا اراد المتسخدم تغيير اللغة فيمكن ان يغيرها من القائمة وعند التغيير يتحدث الكوكي طبعا للانجليزية :

    كود PHP:
     
    $cookie 
    $_COOKIE["lang"];
    if (empty(
    $cookie)) {
    setcookie("lang""arabic.php"); 
    } else {
    if (
    $cookie == "arabic.php"){
    $a "selected";
    } else {
    if (
    $cookie == "english.php"){
    $e "selected";
    }
    echo
    "<select name="langl">
    <option 
    $a value="arb">العربية</option>
    <option 
    $e value="eng">الانجليزية</option>
    </select>"
    ;
    $langv $_POST['langl'];

    if (
    $langv == "eng"){
    setcookie("lang""english.php"); 


    ما بعرف اذا الكود صح وقبل كلشي منطقي ...


    بخصوص اعدادات الكوكي الغير مفعلة ... ممكن نكتب كود يرغم المتصفح على تفعيل الكوكي ؟؟ واذا استسلمنا وقلنا عن طريق قاعدة بيانات كيف ممكن تكون الية عمل الكود ..


    نقاش بناء وعملي وانا كثير مبسوط على هالتعاون بين الاخوة ونشر الفائدة :nice:

    بتمنى تستمر للتفاعل معنا اخونا عشان نصل لأفضل حل مناسب ...





    __________________
    EbNCaNa اخوكم ابن قانا

    [درس] قائمة بريدية بأسهل الطرق بواسطة PHP

    [توقيعك يجب أن لا يكون أطول من 400 حرف يتضمن تجاوز كود المنتدى] - الى متى المعاناة يا حضرة الأدارة ؟

  6. #6
    عضو فعال
    تاريخ التسجيل
    Oct 2005
    المشاركات
    1,250


    اتمنى المتابعة موضوع اكثر من رائع





    __________________
    اعلانات لوّن - أسعار رمزية جدا

    موقع لوّن- دروس فوتوشوب-خطوط-ايقونات-قوالب-شعارات-فرش و ستايلات فوتوشوب

  7. #7
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    309


    كود PHP:
    $_COOKIE['lang'] = $_POST['language']; //Get lang
    if(empty($_COOKIE['lang'])){
    $_COOKIE['lang'] = 'ar'
    }
    if(
    $_COOKIE['lang'] == 'ar'){ // If language => ar
    include("lang/arabic.php");
    }elseif(
    $_COOKIE['lang'] == 'en'){ // If language => en
    include("lang/english.php");
    }else{
    include(
    "lang/arabic.php"); 

    فكرة
    وبخصوص ملف اللغة استخدم المصفوفات افضل من التوابت





    __________________
    Bruce - مدونة شديدة التخصص في PHP وتطبيقات الويب

  8. #8
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    509


    اخوي عبو عزازي مشكور على الدخول والتشجيع ...

    اخوي بروس اقتراح ممكن جدا ولا مجال نقول هنا هذا الحل صح وهذا خطا ... انما لكل مبرمج الحرية بتنفيذ نفس الكود باسلوب مختلف .

    انا جربت الكود التالي الذي يجمل العملية ولفحص فاعليتها لكن حدث خطا ما اعرف من وين وعلى العموم جربوا الكود اخواني والي عندو الحل للمشكلة ما يبخل علينا :

    كود PHP:
    <?
     
    $cook 
    $_COOKIE['lang'];
    if (empty(
    $cook)) {
    setcookie("lang","arabic.php",time()+ 86400); 
    } else {
    if (
    $cook == "arabic.php"){
    $a "selected";
    } else {
    if (
    $cook == "english.php"){
    $e "selected";
    }
    }
    $langv $_POST['langl'];
    if (
    $langv == "eng"){
    setcookie("lang","english.php",time()+ 86400); 
    }  
    include(
    "lang/$cook");  
     
    echo
    "<meta http-equiv='Content-Type' content='text/html; charset=$lang_charset'>
    <meta http-equiv='Content-Language' content='
    $lang_text_dir'>
    <title>Untitled 1</title>
    <style type='text/css'>
    .style1 {
     text-align: center;
     direction: rtl;
    }
    .style2 {
     text-align: center;
    }
    .style3 {
     direction: rtl;
    }
    </style>"
    ;
     
    echo
    "<body>
    <div class='style2'>
    <p class='style1'><span lang='ar-sa'>المتغير للصفحة الرئيسية : LANG_HOMEPAGE</span></p>
    <p class='style1'><span lang='ar-sa'>المتغير لصفحة الدخول : LANG_LOGIN</span></p>
    <p class='style1'><span lang='ar-sa'>المتغير للصفحة الخروج: LANG_LOGOUT</span></p>
     <div class='style3'>
      <br/>
      <span lang='ar-sa'><a href='
    $PHP_SELF?do=delcookie'>حذف الكوكيز</a></span><br />
      <br/>"
    ;
                    if(
    $do == "delcookie"){
      
    setcookie("lang");
      }
     
    echo
    "<select name='langl' dir='rtl'>
    <option 
    $a value='arb'>العربية</option>
    <option 
    $e value='eng'>الانجليزية</option>
    </select></div></div>"
    ;
    ?>

    وطبعا كامل مجلد التجربة في المرفقات .





    الملفات المرفقة الملفات المرفقة
    • نوع الملف: zip 1.zip‏ (1.4 كيلوبايت, 64 مشاهدات)
    التعديل الأخير تم بواسطة EbNCaNa ; 25-09-2007 الساعة 11:15 PM
    __________________
    EbNCaNa اخوكم ابن قانا

    [درس] قائمة بريدية بأسهل الطرق بواسطة PHP

    [توقيعك يجب أن لا يكون أطول من 400 حرف يتضمن تجاوز كود المنتدى] - الى متى المعاناة يا حضرة الأدارة ؟

  9. #9
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    509


    شو يا جماعة ... وينكو ؟؟ ما حدا حابب يشارك ؟؟ بروس ؟ اخوي خالد الشمعة بدنا خبرتك ؟؟ اخوي TheArabi وينك يزلمي بلشت معنا كمل ... يلا جماعة تعالوا مالكوا نايمين ؟!!





    __________________
    EbNCaNa اخوكم ابن قانا

    [درس] قائمة بريدية بأسهل الطرق بواسطة PHP

    [توقيعك يجب أن لا يكون أطول من 400 حرف يتضمن تجاوز كود المنتدى] - الى متى المعاناة يا حضرة الأدارة ؟

  10. #10
    عضو نشيط
    تاريخ التسجيل
    Mar 2005
    المشاركات
    281


    السلام عليكم ورحمة الله وبركاته
    أولاً : كل عام وأنتم بألف خير

    فكرة جميلة جداً عزيزي ..
    ولكن لمااذا تحددها على العربي والانجليزي ؟

    أنت بدأت بفكرة وجود قاعدة بيانات لتحديد ماهي اللغات المتوافرة
    فلتصنع قاعدة بيانات تحدد ملفات اللغة المتواجدة
    مثلاً :
    arabic_sa
    arabic_sy
    arabic_pl
    english
    italian

    أي شيء يعني لأنك بمجرد انك تريد تعدد اللغات فإنك تريد تعدد يخدم كل زائر وذوقه

    من ثم اتصل بقاعدة البيانات وبرمج كود يعرض اللغات المتوافرة في قائمة منسدلة حتى يختار الزائر ما يريد
    واصنع كوكيز باسم اللغة التي اختارها الزائر من القائمة
    ولربما اردت ان تخوض اكثر فلتصنع خيار (هل تريد حفظ الإعدادات الجديدة) وعندها تحدد هل استخدم الكوكيز ام السيشن والسيشن طبعاً إن لم يختر الزائر حفظ الاعدادت
    النسبة اذا كنت تريد هذه الخاصية لأعضاء موجودين عندك فاصنع حقل جديد في قاعدة البيانات لكي تحدد لكل عضو لغته الخاصة فهذا افضل

    هذا ما لديّ واعتذر عن عدم ارفاق كود برمجي لأنني بصراحة منذ فترة طويلة لم أبرمج وأخشى أن أسهو عن شيء في الكود
    وكما قلت أنت سابقاً لا نستطيع تحديد ان كان الرأي صائب أو خاطئ لأنه لكل مبرمج طريقة
    وان اعجبتك طريقتي طبقها وأي خطأ اعرضه وسأحاول المساعدة

    ولنا لقاء






  11. #11
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    509


    اخوي ما شاء الله عليك اقتراحك اكثر من رائع ...

    النقطة الاولى الي حبيتك تعرفها انو اساس الفكرة لموقع خالي من العضويات ... بمعنى انو موقع اخباري مفتوح للجميع بدون نظام عضويات ... وعشان هيك انا حبيت الشي يكون بدون قاعدة بيانات ومن ناحية اخرى لتسهيل الامر على الاخوة وجعل الشي مبسط جدا .

    الحمد لله قمت ببرمجة اساس الكود وهو يعتمد على الكوكيز واخطط لكي اقوم بخطوات عملية قوية لكي يكون الكلاس قوي جدا ... مثلا رح اعتمد على مصفوفة اوتوماتيكية لاضافة اللغة ... بمعنى انو المستخدم فقط يضيف ملف اللغة مع اسمو والبرمجية تقوم على استخراج اسماء الملفات في مجلد اللغات وعرضها في المصفوفة ووضعها بعد ذلك في قائمة منسدلة ليقوم الزائر باختيارها .

    الشي لا يقتصر على اللغة العربية والانجليزية وانما مثال فقط ... وبعد الانتهاء من البرمجة كاملة سوف اكمل البرمجة لعمل نسخة اخرى تعتمد على قاعدة البيانات ... رح يكون عمل جبار ان شاء الله .

    بس عندي بخصوص ملاحظة احد الاخوة وهي انو ممكن احد الزوار مغلق خاصية الكوكيز بالمتصفح ... هل في كود يجبر الزائر على استخدام الكوكيز ... مع اني اعتقد انو الكل مفعل الكوكيز بالمتصفح ونسبة قليلة تكاد تكون معدومة التي لا تستعمل كوكيز ...

    شو رايك اخوي دكتور نبهان ؟؟

    مشكور جدا على مشاركتك الرائعة وان شاء الله تكمل معنا بالنقاش لانو يظهر انو في اخوة مستصعبين الفكرة وعشان هيك ما بشاركوا !!

    الى الامام حبي .





    __________________
    EbNCaNa اخوكم ابن قانا

    [درس] قائمة بريدية بأسهل الطرق بواسطة PHP

    [توقيعك يجب أن لا يكون أطول من 400 حرف يتضمن تجاوز كود المنتدى] - الى متى المعاناة يا حضرة الأدارة ؟

  12. #12
    عضو نشيط
    تاريخ التسجيل
    Mar 2005
    المشاركات
    281


    اشكرك لتعقيبك

    وفكرتك رائعه جداً ، ولكن في منها خوف
    لأنه ممكن واحد من ذوي القلوب الضعيفة يضع لك ملف معين
    ذلك انصحك بتعليق الملفات التي تريد ان يضيفها الزوّار حتي يتسنى لك ان تفحصها

    وكل هذا من لوحة التحكم
    يعني بمثل انه من يضيف ملف معين اجعل الملف يتم تحميله في مجلد محمي ومن لوحة التحكم ضع خيار الملفات المعلقة حتى ترى الملف وما هي مكوناته ان وافقت عليه تضع له "أضف للقائمة"
    وهذا مجرد مثال

    ويمكنك ان تبرمج كود يقوم بفحص الملفات المرفقة ..

    وان كنت بانصح استخدام الأولى أو الاثنين معاً

    بالنسبة لان بعض الزوار ربما لا يدعمون الكوكيز ، فانه باستطاعتك تعريف ملف كوكيز والتأكد منه بنفس الملف ان لم يتم تعريفه فقم بتعريفه تلقائياً بملف سيشن دون سؤال الزائر لانه بمجرد انه الغى الكوكيز أي انه يريد جلسات مؤقتة فقط



    هذا ما لديّ ان شاء الله يعجبك
    وربنا يوفقك في عملك وإن شاء الله يطلع على مستوى رضاك

    ولنا لقاء






  13. #13
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    509


    اخوي بخصوص شغلة اصحاب القلوب الضعيفة فحضرتك ما فهمت علي ...

    انا اقصد المستخدم هو مدير الموقع وليس الزائر ... اي ان مدير الموقع يستطيع ان يضيف ملف اللغة الجديد بكيفو من خلال تعديل ملف قديم واضافة لغة جديده له وينزل بشكل تلقائي للقائمة المنسدلة ... يعني باختصار فقط مدير الموقع يقدر يضيف ملف جديد لمجلد اللغات ...

    بخصوص الاشخاص الي الغوا خاصية الكوكيز فانا لم افهم كيف ممكن نسجل جلسة للزائر بدون قواعد بيانات ... اذا بدنا نستعمل جلسات فاكيد رح نستعمل قواعد بيانات وهالشي اخطط اني اعملو بالكلاس بس بنسخة ثانية ... بعدين لو في كود معين يقوم بالفحص التلقائي اذا كان المتصفح يدعم كوكيز او لا فسيكون الشي رووعة ...


    مشكور حبيبي جدا على تفاعلك وما تبخل علينا بالمزيد من الآراء والخبرات المميزة .





    __________________
    EbNCaNa اخوكم ابن قانا

    [درس] قائمة بريدية بأسهل الطرق بواسطة PHP

    [توقيعك يجب أن لا يكون أطول من 400 حرف يتضمن تجاوز كود المنتدى] - الى متى المعاناة يا حضرة الأدارة ؟





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

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