صفحة 1 من 4 1234 الأخيرةالأخيرة
النتائج 1 إلى 15 من 52

الموضوع: موقعك بعدة لغات (أسرار المهنة: 1)

  1. #1
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    4,037

    موقعك بعدة لغات (أسرار المهنة: 1)



    أيضا بناء على وعد سابق لاثنين من الإخوة الأعزاء في سوالف فسوف أوضح أبسط وأسرع طريقة ليكون موقعك بعدة لغات .. لا يهم نوع الموقع أو طريقته .. هذه الطريقة تصلح لأي موقع ..
    المطلوب
    لدينا موقع محتوياته باللغة العربية ونريد أن نصنع منه نسخة باللغة الإنجليزية .. وربما نسخا بالفرنسية ولغات أخرى ..
    الصعوبات
    1- اتجاه الصفحة ككل سيكون مختلفا عند التحويل من أو إلى اللغة العربية ..
    2- يجب تغيير كل المحتويات النصية وإتاحتها لتظهر باللغات الأخرى عن طلبها ..
    3- استايلات الصفحات من أنواع الخطوط وأحجامها لا يصلح كما هو لكل اللغات ويحتاج إلى تعديل يناسب كل لغة ..
    4- إذا كانت هناك أوامر طباعة محتويات باستخدام لغة برمجة (مثلا echo في لغة PHP) فيجب تغيير المحتويات المطبوعة أيضا ..
    5- يجب أن يتذكر الموقع اللغة التي اختارها الزائر لتكون هي اللغة الأساسية له في كل الصفحات ..
    المعلومات المستخدمة
    1- معلومات عادية عن HTML ويهمنا جدا منها:
    كود HTML:
    <html dir="rtl"> <!-- نستخدمها لتحديد اتجاه محتويات الصفحة من اليسار لليمين أو العكس -->
    2- معلومات من لغة PHP ويهمنا منها:
    كود PHP:
    <?
    $a 
    "Hello";
    // وهي طريقة تعيين قيمة معينة لمتغير بأي اسم
    $a[0] = "Number 1";
    $a[1] = "Number 2";
    // تعيين قيمة معينة لمتغير بأي اسم ولكن على هيئة مصفوفة متعددة العناصر
    echo $a;
    // طباعة القيمة الموجودة في متغير ما
    if($a == $b) { 
    $c $d;
    }
    // تستخدم لتحقيق شيء ما إذا كان الشرط داخل الجملة صحيحا
    setcookie("Language""ar");
    // وضع كوكيز بجهاز الزائر لتخزين قيمة معينة فيها
    $a $_COOKIE["Language"];
    // استدعاء القيمة التي في الكوكيز 
    $a $_GET['a']; 
    // معرفة القيمة التي أرسلتها الصفحة السابقة إلى هذه الصفحة بناء على اختيار الزائر
    ?>
    3- معلومات من تقنية الستايلات CSS ومنها:
    كود:
    p, td {font-family: Tahoma; font-size: 12px; color: #000000}
    فكرة الطريقة
    تعتمد الطريقة على تخزين كل المحتويات النصية الموجودة بالموقع (الكتابات) من محتويات عادية معروضة للزوار أو مختفية مثل الستايل ووسم الهتمل الخاصة باتجاه الصفحة - تخزين كل هذه المتغيرات في متغير من نوع المصفوفة المزدوجة متعددة العناصر (يمكن الكلام صعب بس الطريقة سهلة إن شاء الله) .. وهكذا فبمجرد طلب الزائر للصفحة بلغة ما نستدعي المتغير الذي حدد على أنه خاص للغة التي طلبها الزائر ..
    أما من ناحية تذكر الموقع للغة التي اختارها الزائر فسنستخدم الكوكيز ..
    ملاحظات
    1- الطريقة هنا سوف تكون على مراحل .. فإذا كنت تنوي أن تستفيد من هذه الطريقة فافتح برنامج التصميم الذي تستخدمه وابدأ في تنفيذ الأمثلة واحدا واحدا .. لأن المقصود هو الشرح وليس وضع الطريقة مرة واحدة ..
    2- لا تأخذ الأمثلة نسخ ولصق .. اكتبها من جديد لأنه ممكن تكون هنا أخطاء إملائية ..
    المثال
    لنفترض أن لدينا صفحة هكذا:
    كود HTML:
    <html dir="ltr">
    <head>
    <title>Internet Plus Home Page</title>
    <style type="text/css">
    body, p, td {font-family: Verdana; font-size: 14px; color: #ffffff}
    a {color: #ff0000}
    a.hover {color: #00ff00}
    </style>
    </head>
    <body>
    <p>Welcome to my website. I am glad you are here :) .</p>
    <p><a href="page.htm">Click here</a> to visit the other page.</p>
    </body>
    </html>
    الطريقة
    1- تحويل كل محتويات الصفحة إلى مصفوفة
    هذا الكود سنجعله يوضع في أعلى الصفحة قبل أي محتويات أخرى بما فيها الهتمل:
    كود PHP:
    <?
    // سنقوم بوضع محتويات الصفحة المطلوبة كما هي في مصفوفة
    // ولكي نعرفها أن لغة هذه المحتويات هي الإنجليزية فسوف نستخدم حرفي: en
    $a = array();
    $a[0]['en'] = "ltr"// سوف يكون هذا العنصر هو المحدد لاتجاه الصفحة
    $a[1]['en'] = "Internet Plus Home Page"// عنوان الصفحة
    $a[2]['en'] = "body, p, td {font-family: Verdana; font-size: 14px; color: #ffffff}
    a {color: #ff0000}
    a.hover {color: #00ff00}"
    // الستايل كله
    $a[3]['en'] = "Welcome to my website. I am glad you are here :) .";
    $a[4]['en'] = "Click here";
    $a[5]['en'] = "to visit the other page.";
    ?>
    2- تغيير الصفحة لنجعلها تقرأ المحتويات من المصفوفة
    هنا سوف نضع قبل الكود السابق سطرا يخبر الصفحة بأن اللغة المطلوبة هي الإنجليزية (ليس لدينا غيرها للمحتويات حاليا):
    كود PHP:
    <?
    $lang 
    "en";
    ?>
    إذن سيمكننا استخدام المتغير الذي اسمه $lang ليكون مكان كلمة en حيث إن قيمته هي en ..
    ونبدأ في تغيير الصفحة .. بدلا من كل محتوى سوف نضع المتغير الخاص بهذا المحتوى .. إذن مكان العنوان الخاص بالصفحة سنستخدم:
    كود PHP:
    $a[1][$lang
    مما سيجعل الصفحة تبدو بهذا المنظر (بدون الكود الذي أنشأناه في الخطوة السابقة والموجود قبل الصفحة):
    كود PHP:
    <html  dir="<? echo $a[0][$lang]; ?>">
    <head>
    <title><? echo $a[1][$lang]; ?></title>
    <style type="text/css">
    <? echo $a[2][$lang]; ?>
    </style>
    </head>
    <body>
    <p><? echo $a[3][$lang]; ?></p>
    <p><a href="page.htm"><? echo $a[4][$lang]; ?></a> <? echo $a[5][$lang]; ?></p>
    </body>
    </html>
    ببساطة وضعنا المحتويات في مصفوفة (a) ووضعنا اسم اللغة في متغير (lang) .. ولذلك فسوف تظهر الصفحة الجديدة المصنوعة بالـPHP كما كانت في السابق بالهتمل .. كل ده وانتهينا من عمل الصفحة بلغة واحدة بس هههههه
    3- إضافة اللغات الأخرى
    عايزين نضيف اللغة العربية .. طيب نرمز لها باي حروف؟ ar? أوكي .. فاكر الكود الأول اللي عملناه ووضعنا فيه كل المحتويات؟ خذ منه نسخة (copy) والصقها بعد نهاية المصفوفة الخاصة باللغة الإنجليزية .. وغير كل حروف en فيها إلى ar .. يعني يكون عندنا نسختين من المصفوفة الآن واحدة en وواحدة ar ..
    غير محتويات المصفوفة الجديدة إلى الكلمات العربية المقابلة لها .. يعني ح يكون عندنا بعد كود أول خطوة:
    كود PHP:
    $a[0]['ar'] = "rtl";
    $a[1]['ar'] = "إنترنت بلس - الصفحة الرئيسية"
    $a[2]['ar'] = "body, p, td {font-family: Tahoma; font-size: 12px; color: #ffffff}
    a {color: #ff0000}
    a.hover {color: #00ff00}"
    ;
    $a[3]['ar'] = "أهلا بك في موقعنا .. أنا سعيد بوجودك :) .";
    $a[4]['ar'] = "اضغط هنا";
    $a[5]['ar'] = "لزيارة الصفحة التالية."
    طبعا ممكن نكرر هذه الخطوة لأي عدد من اللغات .. والطريقة -يارب- تكون واضحة ..
    الآن جرب شيئا صغيرا .. فاكر في الخطوة رقم 2 لما وضعنا متغير اسمه lang وقلنا قيمته en? غيره إلى قيمة تانية وهي ar .. الآن الصفحة تعرض بالعربية ومن اليمين للشمال وبخط تاهوما وكله تمام
    4- معرفة اللغة التي يريدها الزائر
    الآن يمكننا عرض الصفحة بلغة من اللغتين .. لكن يجب أن نحددها من الأول طبعا .. وده مش صح .. المفروض الزائر يختار .. يبقى أولا نضع وصلات لتغيير اللغة ولتكن في كود الصفحة نفسها .. في أي مكان بالصفحة بعد رسالة الترحيب مثلا ضع:
    كود HTML:
    <a href="?lang=ar">1</a><br><a href="?lang=en">2</a>
    كده يظهر للزائر رقم 1 للعربي و 2 للانجليزي ..
    بس برضو احنا محددين من الاول في الكود اللي اعلى الصفحة ان lang يساوي قيمة محددة .. الحل هو أننا نشيل السطر اللي فيه
    كود PHP:
    $lang "ar"// أو en 
    ونضع التالي:
    كود PHP:
    <?
    if(isset($_GET['lang'])) $lang $_GET['lang'];
    // بنشوف لو الزائر ضغط على رقم عشان يختار لغة واللا لا .. لو ايوه يبقى نخلي المتغير قيمته تكون القيمة اللي اختارها الزائر
    else $lang "ar";
    // لو ما كانش اختارها ح نحددها احنا تكون عربي
    ?>
    كده الزائر لما يضغط على لغة الصفحة لغتها تتغير .. جربها ..
    5- تذكر اختيار الزائر
    فاضل حاجة؟ ايوه .. ان الموقع كله يفتكر اختيار الزائر! بس لأنها مش مضمونة فأنا بافضل اني ارسل قيمة lang من كل صفحة للصفحة التانية مباشرة من غير تسجيل كوكيز .. لأنه بعض الناس الكوكيز عندهم مش شغالة كويس .. انما اذا احتجتها ف ح نغير الكود اللي لسه عاملينه في الخطوة السابقة ليكون:
    كود PHP:
    <?
    if(isset($_GET['lang'])) {
    $lang $_GET['lang'];
    setcookie("lang"$lang);
    }
    elseif(isset(
    $_COOKIE['lang'])) $lang $_COOKIE['lang'];
    else 
    $lang "ar";
    ?>
    بس كده
    (أنا ما اعرفش انهي افضل للموضوع تطوير المواقع واللا البرمجة - أرجو الإخوة المشرفين ينقلوا الموضوع لو مناسب هناك أكتر)





    __________________
    ....
    محمد حسام
    انترنت بلس


  2. #2
    عضو سوبر نشيط
    تاريخ التسجيل
    Aug 2004
    المشاركات
    692

    نشكر الاخ انترنت بلس على مقاله الرائع



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






  3. #3
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2004
    المشاركات
    332


    جزاك الله خير ..

    مأدري وش اقول .. الشرح وااااافي ..






  4. #4


    عفواً أخي انترنت

    بس انت لم تضح اين نعمل الاكواد هلا نضعه جميعه في ملف واحد أو ملفات وايش نعلم المصفوفات

    يعني جبت شرح للاكواد بس ماوضحت فين أماكنها .. يعني مصلاً تقول الكود الاول نضعه في ملف واسمه والمصفوفه في مكان كذا .... وهكذا

    منتظر هذا الشرح






  5. #5
    عضو فعال
    تاريخ التسجيل
    Apr 2004
    المشاركات
    1,780


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

    موضوع في غاية الاهمية





    __________________
    k_l_l_o_ll @ hotmail.com
    فن التصميم

  6. #6
    عضو فعال جدا
    تاريخ التسجيل
    Jun 2003
    المشاركات
    2,270


    شكرا لكم جزيلا يا حضرة الاستاذ انترنت بلس انا ارشح ان تكون مشرفا على قسم ال php لانك محترف php

    وشكرا





    __________________


    عاشت فلسطين وعاشت المقاومة
    http://www.palintefada.com/arabic
    http://www.palissue.com/arabic
    موقع انتفاضة فلسطين - موقع القضية الفلسطينية
    الكاسر


  7. #7
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    4,037


    earngate.com
    شكرا لك .. وأنا سعيد أنك عملتها من قبل

    بووليد
    شكرا لك .. أتمنى تفيدك إن شاء الله ..

    البـ أحمد ـرنس
    كله ملف واحد أنا عارف ان الشرح ما ظبطش معايا قوي لكن اقرأ كمان مرة وكمان مرة وان شاء الله ح تعرف ترتيب الأكواد .. وخلي بالك المهم انك تطبق مش انك تستخدمها كما هي ..

    ياقلبي
    آمين جزاكم الله خيرا ..

    elkaser
    شكرا لك .. بس اللي انا عملته هنا عادي لسه مش احتراف وكلنا مشرفين يا أخي مادامت قلوبنا على المنتدى وبنفيد غيرنا





    __________________
    ....
    محمد حسام
    انترنت بلس

  8. #8
    فضلاً اكتب اسمك الحقيقي هنا
    زائرalnnarry


    بس سؤال يا استاذي الرائع الترجمه هاتم ازاي ؟؟؟؟؟؟؟






  9. #9
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    4,037


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





    __________________
    ....
    محمد حسام
    انترنت بلس

  10. #10
    Banned
    تاريخ التسجيل
    Sep 2003
    المشاركات
    205


    مشكورين






  11. #11
    عضو سوبر نشيط
    تاريخ التسجيل
    Oct 2003
    المشاركات
    718


    السلام عليكم ورحمة الله وبركاته ..
    كيفك اخي انترنت بلس ؟ ان شاء الله كل حاجه تمام ؟

    كل فترة .. إذا مش كل يوم تفاجأنا بحاجة مميزة جدا ً ..

    لذلك قررت اني اعمل مجلد في موقعي وكل حاجة تعملها اطبقها للاستفادة ..
    درسك كان ممتع جدا .. جداً ..
    تفضل هنا تطبيق للدرس
    http://www.albanner.net/internetplus...ages/index.php

    وهذا المجلد اللي قررت اطبق دروسك العمليه فيها ..
    http://www.albanner.net/internetplus/index.php
    وان شاء الله اكون طالب متجهد

    ولدي اقتراح: لماذا لا تجمع كل درس تعمله في سوالف وتحفظه وتعمل سكربت عرض الدروس بحيث انه يكون مرجع لطلابك على الانترنت.

    تمنياتي لك بالتوفيق ..





    __________________
    أخي [ محمد الفارس ] في كل رد اقول .. شكراً لك ...
    البانر.نت .. نصنع من الافكار دليل

  12. #12
    عضو سوبر نشيط
    تاريخ التسجيل
    Oct 2003
    المشاركات
    718


    عملت حاجة بسيطة في كود الهتمل اللي يعرض مختصرات المصفوفة ، وهي اضافة السطر قبل العنوان وهو الترميز ..
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1256">





    __________________
    أخي [ محمد الفارس ] في كل رد اقول .. شكراً لك ...
    البانر.نت .. نصنع من الافكار دليل

  13. #13
    فضلاً اكتب اسمك الحقيقي هنا
    زائرalnnarry


    طيب مفيش مترجم تلقائي لأن لو حطيت مقال عربي هل محتاج اني اروح اكتبه تاني انجلش






  14. #14
    عضو فعال جدا
    تاريخ التسجيل
    Feb 2004
    المشاركات
    2,307


    الف الف شكر اخي انترنتيت بلس

    وشرح جميل جدا

    تسلم ادينك ،

    واسمح لي فسوف اضيفه في http://www.phpfaq.php-ar.com/index.p...a17be565eeafac

    تحياتي





    __________________
    بي اتش بي العرب : php-ar.com
    دروس PHP خاص : phpfaq.php-ar.com

    new site : www.naifphp.net/web

  15. #15
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2003
    المشاركات
    790


    شكراً أخي انترنت بلس
    و ممكن برأيي نستخدم قاعدة البيانات كتطوير للعملية ..
    كود PHP:
    create table languages(
    id int not null primary key auto_increment,
    name varchar(20not null,
    dir varchar(5not null,
    charset varchar(15not null
    ); 
    كود PHP:
    create table phrases(
    phrase_id int not null primary key auto_increment,
    name varchar(30not null,
    value text not null,
    lang_id int not null
    ); 
    و ممكن نعين لغة أساسية و مثلاً الأي دي 1 و ممكن تكون العربية
    و نخزن اللغة المختارة باستخدام الكوكيز أو السيشن مثلاً


    و السلام عليكم
    Dr.no





    __________________
    دكتور لا





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

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

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