Commit 5cd41f60 authored by Michal Čihař's avatar Michal Čihař

Merge remote-tracking branch 'origin/master'

parents e6e40601 5a52303f
......@@ -56,7 +56,7 @@
{% endif %}
<tr>
<td></td>
<td class="toolbar"><a href="#" id="copy-text">{% trans "Copy" %}</td>
<td class="toolbar"><a href="#" id="copy-text">{% trans "Copy" %}</a><img src="/media/loading.gif" id="loading" style="display: none" /></td>
</tr>
<tr>
<th>{% if unit.is_plural %}{% trans "Translations" %}{% else %}{% trans "Translation" %}{% endif %}</th>
......
......@@ -2,15 +2,45 @@ function text_change(e) {
$('#id_fuzzy').attr('checked', false);
}
var loading = 0;
function inc_loading() {
if (loading == 0) {
$('#loading').show();
}
loading++;
}
function dec_loading() {
loading--;
if (loading == 0) {
$('#loading').hide();
}
}
function get_source_string(callback) {
inc_loading();
$.get("/js/get/" + $('#id_checksum').attr('value') + '/', function(data) {
callback(data);
dec_loading();
});
}
function add_translate_button(id, text, callback) {
$('#copy-text').after('<a href="#" id="translate-' + id + '">' + text + '</a>');
$('#translate-' + id).button({text: true, icons: { primary: "ui-icon-shuffle" }}).click(callback);
}
function load_translate_apis() {
if (typeof(apertium) != 'undefined' && apertium.isTranslatablePair('en', target_language)) {
$('#copy-text').after('<a href="#" id="translate-apertium">' + gettext('Translate using Apertium') + '</a>');
$('#translate-apertium').button({text: true, icons: { primary: "ui-icon-shuffle" }}).click(function f() {
$.get("/js/get/" + $('#id_checksum').attr('value') + '/', function(data) {
add_translate_button('apertium', gettext('Translate using Apertium'), function () {
get_source_string(function(data) {
inc_loading();
apertium.translate(data, 'en', target_language, function (ret) {
if (!ret.error) {
$('#id_target').text(ret.translation);
}
dec_loading();
});
});
return false;
......@@ -19,24 +49,26 @@ function load_translate_apis() {
if (typeof(Microsoft) != 'undefined') {
var langs = Microsoft.Translator.getLanguages();
if (langs.indexOf(target_language) != -1) {
$('#copy-text').after('<a href="#" id="translate-microsoft">' + gettext('Translate using Microsoft Translator') + '</a>');
$('#translate-microsoft').button({text: true, icons: { primary: "ui-icon-shuffle" }}).click(function f() {
$.get("/js/get/" + $('#id_checksum').attr('value') + '/', function(data) {
add_translate_button('microsoft', gettext('Translate using Microsoft Translator'), function () {
get_source_string(function(data) {
inc_loading();
Microsoft.Translator.translate(data, 'en', target_language, function (ret) {
$('#id_target').text(ret);
dec_loading();
});
});
return false;
});
}
}
$('#copy-text').after('<a href="#" id="translate-mymemory">' + gettext('Translate using MyMemory') + '</a>');
$('#translate-mymemory').button({text: true, icons: { primary: "ui-icon-shuffle" }}).click(function f() {
$.get("/js/get/" + $('#id_checksum').attr('value') + '/', function(data) {
add_translate_button('mymemory', gettext('Translate using MyMemory'), function () {
get_source_string(function(data) {
inc_loading();
$.getJSON("http://mymemory.translated.net/api/get?q=" + data + "&langpair=en|" + target_language, function(data) {
if (data.responseData != '') {
$('#id_target').text(data.responseData.translatedText);
}
dec_loading();
});
});
});
......@@ -58,7 +90,7 @@ $(function() {
$('.button-end').button({text: false, icons: { primary: "ui-icon-seek-end" }});
$('textarea.translation').change(text_change).keypress(text_change).autogrow().focus();
$('#copy-text').button({text: true, icons: { primary: "ui-icon-arrow-1-s" }}).click(function f() {
$.get("/js/get/" + $('#id_checksum').attr('value') + '/', function(data) {
get_source_string(function(data) {
$('#id_target').text(data);
});
return false;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment