Fancy Worpress Translations

Aš norėjau įsitikinti, kad aš ne neskaitant galimų tarptautinei auditorijai. pavyzdžiui, vienas forumai aš dažnai daug priklauso Prancūzijos bendrovė.

Laimei, Wordpress turi vertimo plug-ins ir gausybė du iš jų sugautos mano akių: Visuotinis vertėjas pagal Davide Pozza ir Transposh iki Komanda Transposh.

Abi yra puikios plug-ins, bet jie taip pat kenčia nuo vieno grąžinimo: užpildo jūsų Sidebar (Valdiklis) 40-kai vėliavas ar turite kvailas išskleidžiamajame lange. Norėjau daugiau elegantiškas parinktį, ir tai, kaip aš sugebėjo tai padaryti.

Kam?

Jūsų dešinėje, rasite “Translate This” mygtukas. Kai paspausite ji, mažai langas su visa turima vertimų variantai. Tiesiog pasirinkite vieną iš vėliavėlių atitinkančių jūsų šalyje / kalbos pasirinkimą ir “Anksti!”.

Jei jums nereikia jokių vertimo arba ji jau buvo išversta į jūsų pageidaujamą kalbą, tuomet jis gražiai iš savo kelią ir man suteikia daugiau galimybių kitų funkcijų.

Kaip ir?

Jame dalyvavo stebėtinai minimalų kiekį pakeitimus tema, konkrečiai sidebar.php failas, pridedant keletą JavaScript magija ir, žinoma, kai CSS eglės dalykų iki šiek tiek.

PHP portion

PHP kodas yra šie:

<?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 } ?>

Šis kodas veiks vieną ar Transposh Visuotinis vertėjas plugin. Ji bus patikrinti vieną iš dviejų, jeigu yra įdiegta ir padaryti grotuvą viduje <div></ P> Tags. Jeigu nei yra įdiegta, nieko atsitikti. Todėl saugiai išjungti plug-ins, tt.

Galite įterpti šį kodą iš esmės bet kur norite. Mano atveju, Aš įdėti jį į sidebar.php Bylos įtraukta “vienspalvis” temą mono-Lab. Tiksliau, tai yra beveik iš karto po <ul class =”ext_meta”> diena.

CSS portion

CSS dalis gali būti įtraukta į jūsų tema's style.css Bylos ir tikrai priklauso nuo jūsų pačių tema su po truputį, išskyrus:

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

Kaip galima matyti iš ankstesnės PHP dalis, suteiktas kodas vėliavas yra suvynioti viduje <div> tag ID “translate_post”. Mes nenorime įrodyti, kad tai tik dar vartotoją, todėl reikia nustatyti parodyti:nė vienas variantas.

Kiti variantai įsitikinti dėžutė netaptų freakishly ilgai (200 taškų), nejudėtų kitų dalykų aplink, kai rodomas (pozicija:absoliutus) ir nesupranta, kuriems patalpinti dalykų, tokių kaip vaizdo įrašai (z-index:10).

The # translate_btn dalis padeda Clue galutinį vartotoją, kad kažkas gali paspausti, kai pele per savo “Translate This” tekstas.

Jeigu norite, galite įtraukti kitų vertybių, taip pat, pavyzdžiui, pridėti fono spalvą arba pasienio. Vėl, Tai priklauso nuo jūsų skonį ir temą jūs naudojate.

JavaScript dalis

JavaScript dalis reikalauja, kad jQuery yra jau pakrautas by WordPress. Iš kelių atvejų tai yra ne pagal nutylėjimą atveju, taigi jums reikės įtraukti šiuos savo Header.php tema šablono failą, prieš <?PHP wp_head(); ?> diena:

wp_enqueue_script('jquery');

Dauguma mėgėjas temos jau įtrauktos JavaScript, kad inicijuoja kelis kintamuosius arba built-in skriptai. Paprastai jie vadinami init.js arba script.js. Galite naudoti šiuos pridėti reikia veikiancio Javascript, šios, galite sukurti naują failą, kad jis pasireiškia vadinamas nuo Header.php theme šablonas. pavyzdžiui:

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

Prie faktinio JavaScript:

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);
        }
    });
});

Kodas nėra labai optimali, kad padėtų jums suprasti, kas vyksta. Jei nesate jaukus su JavaScript, Jums tiesiog reikia atkreipti dėmesį į ką taip Versti Box kaip, Tiksliau:

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

Jame numatoma keletas kintamųjų, kurie bus naudojami pagal scenarijų poilsis vėliau. The init_timeout kintamasis nurodo, kaip ilgai vertimo langą (yra vėliavomis) turi likti atviros ir vartotojo dar nėra pateikti savo pele viduje, kad langą. Aukščiau pateiktame pavyzdyje, Tai 3 sekundžių (3000 milisekundžių).

The timeout kintamasis nurodo, kiek laiko tas pats langas turėtų likti atviras, jei vartotojas turi pateikti savo pele viduje, kad langą (ty, svyruoti pele per vieną iš vėliavėlių). Aukščiau pateiktame pavyzdyje, Tai yra pusė pradinės timeout metu – 1500 milisekundžių arba 1.5 sekundžių. Jūs galite pakeisti šiuos galėtumėte.

Šių dviejų kintamųjų, mygtukas ir langas, nurodyti, kuriuos <div id> yra mygtukas (tekstas) atidaryti vertimo langą, ir vertimo langą pati. Jei turite ne kartą PHP dalis pateikti anksčiau, Jums neturėtų pakeisti.

Su JavaScript likusią rankenos trys dalykai, tokia tvarka:

  • What happens when the user clicks the button (atidaryti langą ir nustatyti laikmatis, init_timeout milisekundžių)
  • Kas nutiks, kai naudotojas pajudina pelę jo viduje langą (sustabdyti laikmatį ir pradėti ją timeout milisekundžių, jei jis buvo išvežtas iš naujo)
  • Kas nutiks, kai vartotojas paspaudžia niekur (uždaryti langą atidaryti vertimas)

Jūs beveik nėra

Yra keletas dalykų, kuriuos reikia prisiminti apie Plug-in pusėje. Jei šiuo metu naudojate Visuotinis vertėjas ar Transposh raštai jūsų Sidebar, labai rekomenduojama uždrausti šių (pašalinti juos iš Sidebar).

Visuotinis vertėjas naudoja tik vėliavas, kurio pakanka šiam tikslui. Tačiau, Jums turėtų sumažinti vėliavų eilutėje prie didžiausio skaičiaus 10. Arba, galite padidinti ir CSS dalis lango plotis.

Transposh naudoja, sąraše pagal nutylėjimą. Apie plug-in nustatymų puslapyje, Galite pakeisti šį nustatymą, kad vėliavas. Mes rekomenduojame išjungti juosta funkcija, ypač todėl, kad vartotojas negali matyti, kai esate įgyvendinant šią Fancy WordPress vertimas.

Aš asmeniškai rekomenduoti, leidžianti “Seo friendly” galimybių abiejų Plugins, kuri numato, URL, pavyzdžiui, HTTP:/ / Www.myatus.co.uk / I vertimų.

Kitu atžvilgiu, Jūs turite būti pasiruošę pateikti tai pabandyti! Leiskite man žinoti, jei turite visus klausimus – Palikite komentarą žemiau arba Kontaktas tiesiai man.

Susijusios Žinutės:

  1. WP Pozdrówcie langelis autohide funkcija
  2. WP Flickr fone Alfa bandymai
  3. Pridėti Firefox stiliaus paieškos Opera 10
  4. Myatu's mobili
  5. WP Flickr Background