
Tahtsin veenduda, et ma ei jättes välja võimaliku rahvusvahelise publiku. Näiteks, üks foorumid I sageli partii kuulub Prantsuse firma.
Õnneks, WordPress on suur hulk tõlke pluginaid ja kaks püütud minu silmade: Global Translator poolt Davide Pozza ja Transposh poolt Team Transposh.
Mõlemad on suurepärased pluginaid, kuid nad kannatavad ka üks puudus: see täidab oma vasaku (vidin) 40-mõned lipud või olete rumal rippmenüüst. Tahtsin veel elegantne võimalus, ja see, kuidas olen suutnud seda teha.
Kuidas see toimib?
Paremal servas, leiate “Tõlgi see” nupp. Kui klõpsate seda, väikest kasti avab kogu olemasoleva tõlke võimalused. Lihtsalt valige üks lipud vastavad teie riigis / keele eelistamine ja “Vara!”.
Kui te ei pea iga tõlke või see on juba tõlgitud Teie eelistatud keel, siis on ilusasti välja teed ja annab mulle rohkem ruumi muid funktsioone.
Ja kuidas?
See tõi kaasa üllatavalt väike summa muudatusi teema, konkreetselt sidebar.php fail, lisades mõned JavaScripti magic ja loomulikult mõned CSS et kuusk asju vähe.
PHP osa
PHP koodi on järgmine:
<?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 } ?>
See kood töötab kas ülemaailmne Tõlkija või Transposh plugin. Ta kontrollib, kas üks kahest on paigaldatud ja muuta vidina sees <div></ Div> TAGS. Kui kumbki on paigaldatud, midagi ei juhtu. Nii et see on ohutu väljalülitamiseks pluginaid, jne.
Võite sisestada selle koodi sisuliselt ükskõik mida soovite. Minu puhul, Olen panna seda sidebar.php fail kaasas “Mustvalge” teema mono-lab. Täpsemalt, ta asub peaaegu kohe pärast <ul class =”ext_meta”> päev.
CSS osa
CSS osa saab lisada oma teema on style.css faili ja tõesti sõltub oma teema, välja arvatud järgmised bit:
#translate_post {
display:none;
padding:5px;
position:absolute;
width:200px;
z-index:10;
margin-top:4px;
}
#translate_btn span {
cursor:pointer;
}
Nagu võis näha eelmise PHP osa, sulatatud kood lipud on pakendatud sees <div> silt ID “translate_post”. Me ei taha näidata, et kasutaja just veel, nii seatud kuvama:mitte ükski variant.
Muud valikud on Veenduge, et kast ei muutuks kapriisselt pikk (200 pikslit), ei liiguks muid asju ümber, kui kuvatakse (seisukoht:absoluutne) ja ei saada kaetud sisseehitatud objekte, näiteks videod (z-indeks:10).
The # translate_btn osa aitab aimugi lõpptarbija, et midagi saab klõpsata, kui hiir on üle teie “Tõlgi see” tekst.
Soovi korral võite lisada teistele väärtustele kui ka, näiteks lisada taustavärvi või piiri. Uuesti, See sõltub teie maitse ja teema te kasutate.
JavaScript osa
JavaScript osa eeldab, et jQuery on juba laaditud by WordPress. Mõnel juhul see nii ei ole vaikimisi, nii pead sisaldama järgmisi teie header.php theme fail, enne <?PHP wp_head(); ?> päev:
wp_enqueue_script('jquery');
Enamik Kasvataja teemad sisaldavad juba JavaScripti et vormindamine mõned muutujad või sisseehitatud skriptid. Üldjuhul nimetatakse neid init.js või script.js. Võid kasutada neid lisada vajalik JavaScripti selle, või saate luua uue faili, et saab helistada ka header.php teema malli. Näiteks:
Sees tegelik 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);
}
});
});
Kood ei ole hästi optimeeritud, et aidata teil mõista, mis toimub. Kui te ei ole rahul JavaScript, sa lihtsalt vajadust pöörata tähelepanu sellele, mida järgnevalt Tõlgi Box kuidas, Täpsemalt:
/* Translate Box */
var _translate_box_vars = {
init_timeout: 3000,
timeout: 1500,
button: '#translate_btn',
window: '#translate_post',
_timer: 0
};
See seab mõned muutujad, mida kasutavad ülejäänud skript hiljem. The init_timeout muutuja määrab, kui kaua tõlget aknas (sisaldavad lippe) peaksid olema jätkuvalt avatud ning kasutaja ei ole veel panna oma hiire sees, et aken. Toodud näites on, See on 3 sekundit (3000 millisekundites).
The timeout muutuja määrab, kui kaua sama aken jääb avatuks, kui kasutaja on paigutatud oma hiire sees, et aken (st, tiirles hiirega üle ühe lipud). Toodud näites on, See on poolteist korda esialgse timeout – 1500 millisekundites või 1.5 sekundit. Saad muuta neid, nagu soovite.
Järgmised kaks muutujad, nupp ja aken, täpsustada, milliseid <div id> sisaldab nupp (tekst) avada tõlke aknas, ja tõlke aken ise. Kui te ei ole muutmine PHP osa kui varem, Te ei tohiks seda muuta.
Ülejäänud JavaScript tegeleb kolm asja selles järjekorras:
- Mis juhtub, kui kasutaja klõpsab nuppu (akna avada ja seada taimer init_timeout millisekundites)
- Mis juhtub, kui kasutaja liigutab ta hiire sees aknas (taimeri peatada ja alustada selle timeout millisekundit, kui see on jälle vasakule)
- Mis juhtub, kui kasutaja klõpsab kusagil mujal (lähedal avatud tõlke aknas)
Sa oled peaaegu kohal
Seal on mõned asjad, mida te vajate meenub plug-in külg. Kui kasutate praegu ülemaailmne Tõlkija või Transposh vidinad Sivupalkkisi, ta on väga soovitatav lülitada kõnealused (need eemaldada sidebar).
Global Translator kasutada ainult lipud, mis on piisav selleks. Sellegipoolest, peaksite arvu vähendamiseks lipud ühes reas maksimaalselt 10. Teine võimalus, saate suurendada laiuse akna CSS osa.
Transposh kasutab ripploendist vaikimisi. Sisse plugina seadete lehel, Saad seda, et lipud. Soovitan lülitada Edenemisriba funktsioon, eriti seetõttu, et kasutaja ei näe seda, kui olete rakendamisel väljamõeldud WordPress tõlge.
Mina isiklikult soovitada, mis võimaldab “SEO friendly” võimalusi kas pluginad, mis sätestab URLid nagu http:/ / Www.myatus.co.uk / I tõlke.
Muidu, peaksite olema valmis andma selle proovida! Ütle mulle, kui sul on mingeid küsimusi – jäta kommentaar väiksem või Kontakt mind otseselt.
Seonduvad postitused:
