Fancy Worpress Translations

كنت أريد التأكد من أنني لم أكن تاركة لجمهور محتمل الدولي. على سبيل المثال, واحدة من المنتديات أنا المتكررة الكثير ينتمي إلى الشركة الفرنسية.

لحسن الحظ, وقد ورد عدد كبير من المكونات الإضافية والترجمة اثنين منهم لفت نظري: العالمية من جانب مترجم دافيدي بوتسو وقبل Transposh فريق Transposh.

كل المكونات ممتازة الإضافية, ولكنها أيضا تعاني من عيب واحد: يملأ الشريط الجانبي الخاص بك (القطعة) 40 - مع بعض الأعلام أو لديك نقطة بانخفاض سخيفة مربع. أردت خيارا أكثر أناقة, وهذه هي الطريقة لقد تمكنت من القيام بذلك.

ماذا يفعل?

على الجانب الأيمن, ستجد “ترجمة هذا” زر. عند النقر فوقه, قليلا مربع للملوثات العضوية الثابتة مع جميع الخيارات المتاحة الترجمة. يكفي ان تختار واحدا من أعلام مطابقة لبلدكم / وتفضيل لغة “مبكرا!”.

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

وكيف?

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

[فب] شطر

رمز بي إتش بي هي على النحو التالي:

<?php if(function_exists("gltr_build_flags_bar") || function_exists("transposh_widget")) { ?>
  <div id="translate_btn">
    <span title="<?php _e('Translate this page into another language','monochrome'); ?>">
      <?php _e('TRANSLATE THIS','monochrome'); ?>
    </span>
  </div>
  <div style="clear: both;"></div>
  <div id="translate_post">
    <?php if (function_exists("gltr_build_flags_bar")): gltr_build_flags_bar(); else: transposh_widget(array()); endif;?>
  </div>
  <div style="clear: both;"></div>
<?php } ?>

هذا الرمز ستعمل من أجل إما العالمي المترجم أو Transposh المساعد. سيكون معرفة ما اذا كان واحد من اثنين يتم تثبيت وتجعل القطعة داخل <div></ div> العلامات. إذا لم يتم تثبيت, لن يحدث شيء. لذلك فمن آمن لتنشيط الوظائف الإضافية, الخ.

يمكنك إدراج هذا القانون أساسا في أي مكان اردت. في حالتي, لقد وضعت ذلك في sidebar.php الملف مضمنا “أحادية اللون” موضوع من أحادية المختبر. على وجه التحديد, انها تقع على الفور تقريبا بعد <الطبقة ماي =”ext_meta”> يوم.

شطر المغلق

وقال إن الجزء المغلق يمكن أن تضاف إلى حسابك في موضوع style.css ملف وحقا يتوقف على موضوع من اختيارك مع استثناء من بت التالية:

#translate_post {
  display:none;
  padding:5px;
  position:absolute;
  width:200px;
  z-index:10;
  margin-top:4px;
}
#translate_btn span {
  cursor:pointer;
}

كما يمكنك أن ترى من الجزء السابق [فب], رمز المقدمة للأعلام هو ملفوفة داخل <div> العلامة مع معرف “translate_post”. نحن لا نريد ان نظهر لهذا المستخدم فقط حتى الآن, حتى تعيين يعرض:بلا الخيار.

وهناك خيارات أخرى للتأكد من أن مربع لا تصبح طويلة بشكل فظيع (200 بكسل), لا تحريك الأمور الأخرى في جميع أنحاء عندما عرض (موقف:المطلق) وليس الحصول على تشملها بنود جزءا لا يتجزأ من مثل أشرطة الفيديو (مؤشر ض:10).

أل # translate_btn جزء يساعد دليل للمستخدم النهائي في أن شيئا ما يمكن عند النقر على الفأرة فوق رأسك “ترجمة هذا” النص.

قد ترغب في إضافة قيم أخرى كذلك, على سبيل المثال لإضافة لون الخلفية أو الحدود. مرة أخرى, هذا يعتمد على ذوقك والموضوع الذي تستخدمه.

جافا سكريبت شطر

الجزء يتطلب جافا سكريبت jQuery التي تم تحميلها مسبقا من وورد. في حالات قليلة ليست هذه هي القضية افتراضيا, لذلك سوف تحتاج الى ما يلي في بلدكم header.php موضوع ملف القالب, قبل <?wp_head [فب](); ?> يوم:

wp_enqueue_script('jquery');

معظم المواضيع هاوى تتضمن بالفعل جافا سكريبت التي تهيئة بضع المتغيرات أو مدمجة في البرامج النصية. عادة ما يطلق عليه init.js أو script.js. يمكنك استخدام هذه لإضافة جافا سكريبت المطلوبة لهذا, أو يمكنك إنشاء ملف جديد أن يحصل على استدعاء من header.php موضوع القالب. على سبيل المثال:

<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/my-fancy-translation-box.js"></script>

إلى تشغيل الجافا الفعلية:

jQuery(document).ready(function( $ ){
    /* Translate Box */
    var _translate_box_vars = {
        init_timeout: 3000,
        timeout: 1500,
        button: '#translate_btn',
        window: '#translate_post',
        _timer: 0
    };

    /* What follows does not need editing */
    $(_translate_box_vars.button).click(function (e) {
        if (!$(_translate_box_vars.window).is(':visible')) {
            leftVal=e.pageX-($(_translate_box_vars.window).width()/2)+"px";
            topVal=(e.pageY+4)+"px";   

            $(_translate_box_vars.window).css({left:leftVal,top:topVal}).fadeIn(300);

            _translate_box_vars._timer = setTimeout("jQuery(function($){$('"+_translate_box_vars.window+"').css({left:leftVal,top:topVal}).fadeOut(300)});", _translate_box_vars.init_timeout);
        }

        e.stopPropagation();
    });

    $(_translate_box_vars.window).hover(
        function () {
            clearTimeout(_translate_box_vars._timer);
        },
        function () {
            _translate_box_vars._timer = setTimeout("jQuery(function($){$('"+_translate_box_vars.window+"').css({left:leftVal,top:topVal}).fadeOut(300)});", _translate_box_vars.timeout);
        }
    );

    $('body').click(function(e) {
        if (!$(e.target).is(_translate_box_vars.window)) {
            $(_translate_box_vars.window).fadeOut(300);
            clearTimeout(_translate_box_vars._timer);
        }
    });
});

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

    /* Translate Box */
    var _translate_box_vars = {
        init_timeout: 3000,
        timeout: 1500,
        button: '#translate_btn',
        window: '#translate_post',
        _timer: 0
    };

فإنه تعيين عدد قليل من المتغيرات التي سيتم استخدامها من قبل بقية السيناريو في وقت لاحق. أل init_timeout متغير يحدد متى إطار الترجمة (يحتوي على الأعلام) وينبغي أن يظل مفتوحا للمستخدم لم توضع له الماوس داخل هذه النافذة. في المثال أعلاه, هذا هو 3 ثانية (3000 ميلي ثانية).

أل مهلة متغير يحدد متى نفس الإطار ينبغي أن يظل مفتوحا إذا كان المستخدم قد وضعت له الماوس داخل هذه النافذة (أي, تأرجح مؤشر الماوس فوق أحد أعلام). في المثال أعلاه, هذا هو نصف الساعة من المهلة الأولية – 1500 ميلي ثانية أو 1.5 ثانية. يمكنك تغيير هذه كما تريد.

اثنين من المتغيرات التالية, زر و نافذة, يحدد <div معرف> يحتوي على زر (النص) لفتح نافذة الترجمة, ونافذة الترجمة نفسها. إذا كان لديك لم يتم تعديل الجزء [فب] قدمت في وقت سابق, يجب أن لا يكون لهذا التغيير.

ما تبقى من جافا سكريبت يعالج ثلاثة أمور في هذا النظام:

  • ماذا يحدث عندما ينقر المستخدم على الزر (فتح النافذة ووضع جهاز توقيت ل init_timeout ميلي ثانية)
  • ماذا سيحدث عندما يقوم المستخدم بتحريك الماوس له داخل نافذة (وقف مؤقت وذلك مع بدء مهلة ميلي ثانية اذا أوقفت بثها مرة أخرى)
  • ماذا سيحدث عندما ينقر المستخدم في أي مكان آخر (إغلاق نافذة مفتوحة الترجمة)

أنت هناك تقريبا

هناك عدد قليل من الأشياء التي كنت بحاجة إلى أن نتذكر على المكونات في الجانب. إذا كنت تستخدم حاليا العالمي المترجم أو Transposh الحاجيات في الشريط الجانبي الخاص بك, ينصح بشدة تعطيل هذه (إزالتها من الشريط الجانبي).

المترجم العالمي يستخدم فقط الأعلام, وهو ما يكفي لهذا الغرض. ومع ذلك, يجب أن تقلل من عدد من الأعلام في الصف لمدة أقصاها 10. بدلا من ذلك, يمكنك زيادة عرض النافذة في الجزء المغلق.

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

أنا شخصيا أوصي تمكين “كبار المسئولين الاقتصاديين ودية” خيارات في أي من الإضافات, عناوين المواقع التي توفر مثل المتشعب:/ / www.myatus.co.uk / أنا للترجمة.

وإلا, يجب أن تكون على استعداد لإعطاء هذه المحاولة! اسمحوا لي أن أعرف إذا كنت تواجه أي مشاكل – مجرد ترك دون تعليق أو جهة اتصال بي مباشرة.

المشاركات ذات الصلة:

  1. الفسفور الابيض تحية مربع autohide ميزة
  2. الفسفور الابيض فليكر الخلفية في اختبار ألفا
  3. إضافة فايرفوكس على غرار البحث في الأوبرا 10
  4. Myatu لهو المحمول
  5. الفسفور الابيض فليكر الخلفية