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

الموضوع: كيف أحل هذه المشكلة الصغيرة؟

  1. #1
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    695

    كيف أحل هذه المشكلة الصغيرة؟



    السلام عليكم

    حاولت ان اعمل عدة لغات في برمحية, لكن
    كيف أحل هذه المشكلة البرمجية؟


    لدي متغير
    $a_marhaba="مرحبا";

    $qsm='marhaba';

    وهنا جمعت المتغيرين لكن لا تطيع : مرحبا

    echo $a_.$qsm;

    أرغب في
    الناتج يساوي: مرحبا

    وبارك الله فيكم





    __________________
    لا خير في كاتـــــــــ العلم ــــــــم.


  2. #2
    عضو فعال جدا
    تاريخ التسجيل
    Sep 2007
    المشاركات
    2,065


    كود PHP:

    $a_marhaba 
    "مرحبا";

    $qsm 'marhaba';


    echo 
    $a_marhaba.$qsm







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


    الأخ يريد تكوين متغير من تركيب متغيرين (تسمى : variable variables)
    وذلك عادة يكون بوضع علامتين دولار

    مثلا

    كود PHP:
    $id=name;
    $name=ahmed;
    echo $
    $id;  //ahmed 
    لكني لم اتعرض للموقف الذي تحاول حله من قبل ولم أنجح في حله في محاولتي
    يمكنك البحث عن حل او يمكنك استخدام طرق أخرى للوصول للمطلوب





    __________________
    -

  4. #4
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    695


    لازالت المشكلة قائمة
    نرجو المساعدة





    __________________
    لا خير في كاتـــــــــ العلم ــــــــم.

  5. #5


    السلام عليكم

    حاولت ان اعمل عدة لغات في برمحية, لكن
    كيف أحل هذه المشكلة البرمجية؟


    لدي متغير
    $a_marhaba="مرحبا";

    $qsm='marhaba';

    وهنا جمعت المتغيرين لكن لا تطيع : مرحبا

    echo $a_.$qsm;

    أرغب في
    الناتج يساوي: مرحبا

    وبارك الله فيكم
    لماذا لا تضع متغير بمسار الملف ، فيكون مثل :

    كود PHP:
     $lang "lang/" $this_lang ".php"
    او عبارة عن مسار مجلد :

    كود PHP:
     $lang "lang/" $this_lang "/general.php"
    ؟؟

    و إن كنت مُصرا فجرب :
    كود PHP:
    <?
    $a
    'marhaba' ]="مرحبا" ;

    $qsm 'marhaba' ;

    $test $a$qsm ] ;

    echo 
    $test ;

    ?>






    التعديل الأخير تم بواسطة خالد الحضري ; 03-09-2010 الساعة 04:10 AM

  6. #6
    عضو فعال
    تاريخ التسجيل
    Jun 2008
    المشاركات
    1,600


    الحل يكمن في ال dynamic variables
    كود PHP:
    <?php
    $marhaba 
    "salam";
    $qsm "marhaba";
    echo ${
    $qsm};
    ?>
    لكن هناك طريقة جيدة ومعتمدة من php لتطوير السكربتات متعددة اللغات وهي طريقة gettext

    وملفات اللغة تكون فيها على شكل .po

    وهي طريقة ممتازة جدًا وتسهل كثيرًا على المبرمج لأنه يمكن ان نقوم باستخراج الكلمات والتعابير بواسطة برنامج مثل poEdit

    كيف يعني؟
    هناك دالة اسمها _ أو gettext
    نضع بها كل الكلمات التي نريدها
    كود PHP:
    echo _("Hello World"); 
    وعندما نشغل البرنامج يقوم بسحب هذه الكلمات وفهرستها داخل ملف اللغة تلقائيًا
    وبعدها نترجمها على كيفنا.
    يعني بعد ما تخلص السكربت تقوم بعمل ملف اللغة وليس في اثناء التطوير
    وهذه الطريقة بالمناسبة مستخدمة في سكربت الوردبرس والكثير من السكربتات الأخرى

    كنت قد عملت طريقة مشابهه لها قديمًا ولكن طريقة ال gettext افضل بكثير بالطبع

    http://www.swalif.net/softs/swalif54...6/#post2019094

    المصادر:
    http://php.net/manual/en/book.gettext.php
    كلاس خاص بهذه العملية:
    http://pboos.ch/wordpress/2010/07/ph...ttext-stylish/
    مصدر عربي:
    http://www.sami-s.com/programming/%D...7%D9%84%D8%AC/





    التعديل الأخير تم بواسطة ahmad sadiq ; 03-09-2010 الساعة 08:12 AM

  7. #7



    وملفات اللغة تكون فيها على شكل .po
    كما أذكر فملفات اللغة تكون على شكل .po أثناء تحريرها ، لكن يتم تصديرها لتكون على شكل .mo ، أليس كذلك ؟
    فقد تعاملت بهذه الطريقة منذ مدة على مشروع لكني لم أرتح لها ، لأن العلة في الملف باللاحقة .mo هو أنك لا تستطيع تحريره بأي برنامج ، و إنما عليك حفظ نسخة من الملف .po كي تصدر منه ملف .mo كل مرة ترغب فيها بالتعديل على ملف اللغة !!

    هل هذا صحيح أخي أحمد ؟
    أم أن هناك طريقة غير هذه ؟






  8. #8
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    695


    مرحبا

    جئت إليكم فرحاً
    لأقول: بحثت في الإنترنت وجربت حتى وجدت الحل:

    تفضلوا
    $a_marhaba = "مرحبا";
    $qsm='marhaba';
    $qsm = ${a_.$qsm};
    echo $qsm;

    باركولي ورمضان مبارك





    __________________
    لا خير في كاتـــــــــ العلم ــــــــم.

  9. #9
    عضو فعال
    تاريخ التسجيل
    Jun 2008
    المشاركات
    1,600


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


    لمزيد من السهولة والراحة يمكن استخدام الكلاس المذكور في المشاركة بالاعلى





    التعديل الأخير تم بواسطة ahmad sadiq ; 03-09-2010 الساعة 11:51 AM





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

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

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