
Јас сакав да си сигурен дека јас не сум бил надвор оставајќи потенцијална меѓународна публиката. На пример, еден од форумите Јас многу често им припаѓа на една француска фирма.
За среќа, WordPress има плетеницата за преведувачки plug-in-и две од нив ми фати око: Глобална Translator од Davide Pozza и Transposh од Тим Transposh.
И двата се одлични plug-in, но тие исто така страдаат од една одбивност: ја исполнува својата лента (графичка контрола) со 40-некои знамиња или имаш глупав опаѓачкото мени. Сакав повеќе домот опција, и ова е како сум успеал да го стори тоа.
Зошто тоа се?
На вашата десна страна, ќе се најде “Translate ОВАА” копче. Кога ќе кликнете на неа, малку полево истрели со сите достапни опции за преводот. Едноставно изберете една од појавување на знамињата на вашата земја / Преферирам и јазикот на “Рано!”.
Кога не им е потребна превод или веќе се преведени во склопот на вашиот јазик, тогаш е убаво надвор од својот пат и ми дава повеќе простор за други опции.
Како и?
Тоа се вклучени изненадувачки минимален износ од модификации на тема, конкретно на sidebar.php датотека, додавајќи некои го вклучите Javascript-магија и секако некои CSS да се стегнат работите малку.
Дел PHP
Кодот на 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 } ?>
Овој код ќе работи за или Глобална Translator или Transposh додаток. Тоа ќе провери ако една од двете е инсталиран и ја даде на графичка контрола внатре <div></ Div> Етикети. Ако не е инсталиран, ништо нема да се случи. Така, тоа е безбедно да се деактивира на plug-in, итн.
Можете да внесете овој код во суштина било каде сакате. Во мојот случај, Сум го положи во sidebar.php со датотеки вклучени “монохроматски” Темата од моно-лабораторија. Конкретно, е наоѓа речиси веднаш по <ул = класа”ext_meta”> ден.
Дел CSS
Во CSS дел можат да бидат додадени во вашата тема style.css досие и навистина зависи од вашата тема, со исклучок на следниве малку:
#translate_post {
display:none;
padding:5px;
position:absolute;
width:200px;
z-index:10;
margin-top:4px;
}
#translate_btn span {
cursor:pointer;
}
Како што можете да видите од претходната доза PHP, на извршените кодот за знамињата е завиткано во внатрешноста на <div> ознака со проект на “translate_post”. Ние не сакаме да го покажеме тоа на само уште на корисникот, па постави приказ:ниту едно опција.
На други опции за да се осигури дека кутија нема да се претвори freakishly долго (200 пиксели), не се движи околу други работи, кога на екранот (позиција:апсолутно) и не се опфатени со вградени елементи како што се видео клипови (z-index:10).
Тоа # translate_btn дел помага поим на крајниот корисник во нешто што може да се кликне на глувчето кога е врз вашите “Translate ОВАА” текст.
Можеби ќе сакате да го додадете други вредности, како и, на пример, да му додадете боја на позадината или границата. Повторно, ова зависи од вашиот вкус и темата користите.
Го вклучите Javascript-Дел
Делот на JavaScript бара jQuery веќе е вчитан by WordPress. Во неколку случаи тоа не е случај стандардно, така ќе треба да го вклучуваат следново во Вашиот header.php Темата Шема датотека, пред <?php wp_head(); ?> ден:
wp_enqueue_script('jquery');
Повеќето од темите познавач веќе вклучите JavaScript за да initializes неколку променливи или вграден во скрипти. Обично тие се нарекуваат init.js или script.js. Можете да ги користите овие да додадете на JavaScript бара за ова, или можете да креирате нова датотека која добива се нарекува од header.php дефиниција за тема. На пример:
На вистинските да го вклучите 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);
}
});
});
Кодот не е високо оптимизиран да ви помогне да разберат што се случува. Ако не сте задоволни го вклучите Javascript -, вие само ќе треба да се обрне внимание на она што следи Преведете Box како, конкретно:
/* 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 id> содржи копче (текст) да се отвори прозорец за превод, и самиот превод прозорецот. Ако не сте пат е изменета на PHP дел се предвидени претходно, не треба да го промени овој.
Остатокот од рачки го вклучите Javascript-три нешта во овој ред:
- Што се случува кога корисникот ќе кликне на копчето (отвори прозорецот и го поставите тајмерот за init_timeout и.т.н.)
- Што ќе се случи кога неговиот корисник се движи глувчето внатре во прозорецот (запрете тајмерот и да започне со завршиле милисекунди, ако има лево повторно)
- Што ќе се случи кога корисникот ќе кликне на некое друго место (затвори отворениот прозорец на превод)
Ти си има речиси
Има неколку работи кои треба да се сеќавам на plug-in-страна. Ако сте во моментов користење на Глобал Translator или Transposh джунджурии во вашата странична лента, Препорачливо е да ги исклучите овие (отстранете ги од лента).
Глобална Translator користи само знамиња, што е доволно за оваа намена. Сепак, треба да се намали бројот на знамиња по ред до максимум 10. Алтернативно, може да се зголеми широчината на прозорецот во CSS дел.
Transposh користи паѓачката листа стандардно. На plug-in-страницата на поставувања, може да се промени за знамиња. Препорачувам блокираат напредокот, бар функцијата, особено затоа што на корисникот ќе нема да го гледаат кога сте спроведување на овој фенси WordPress превод.
Јас лично препорачувам овозможување на “Оптимизација за пријателски” опциите во или на приклучоци, кој обезбедува адреси, како што се http:/ / Www.myatus.co.uk / I за преведување.
Инаку, треба да биде подготвен да даде ова пробајте! Дозволете ми да знам ако имаш некакви проблеми – само оставете коментар подолу или контакт директно ме.
Поврзани Мислења:
