Trans Dict
A dictionary based on Wiktionary's interwiki links. Author: Karl Bartel <[email protected]>
by karlb
HTML
<div class="page-header">
<h1>Translation Dictionary
<small>based on Wiktionary</small>
</h1>
</div>
<form class="form-inline" float: left>
<input type="text" id="from" class="lang" value="en">
<input type="text" id="to" class="lang" value="de">
<input type="text" id="word" class="search-query">
<button class="btn btn-primary">translate</button>
</form>
<div id="result" class="hide">
<h2>Results</h2>
<ul></ul>
</div>
CSS
@import url('http://twitter.github.com/bootstrap/assets/css/bootstrap.css');
body {margin: 10%}
input.lang {width: 18px}
JavaScript
function show_result(data) {
$("#result ul").text('');
$.each(data.query.pages, function(page_id, page) {
if (page.iwlinks === undefined) {
$("#result ul").append('no results');
return false; // break
}
$.each(page.iwlinks, function(i, el) {
var trans = el['*'];
trans = trans.replace('Special:Search/', '').replace('_', ' ');
$("#result ul").append('<li>' + trans + '</li>');
});
});
$("#result").fadeIn('fast');
}
function translate() {
$("#result").fadeOut('fast');
$.ajax({
url: 'http://' + $('#from').val() + '.wiktionary.org/w/api.php',
data: {
action: 'query',
prop: 'iwlinks',
format: 'json',
iwlimit: 30,
iwprefix: $('#to').val(),
titles: $('#word').val()
},
dataType: 'jsonp',
success: show_result
});
return false;
}
$('form').submit(translate);
$('#word').focus();