From 703f61313c160da419ec56b164a4ae8465b6ed65 Mon Sep 17 00:00:00 2001 From: hallgren Date: Fri, 4 Apr 2014 12:52:41 +0000 Subject: [PATCH] Wide Coverage Translation Web App: redesigned user interface The layout now resembles a certain other online translation service. The translation is started automatically after text is entered, no need to press the Translate button. --- src/www/js/wc.js | 15 +++++++++++++-- src/www/wc.html | 38 +++++++++++++++++++++----------------- 2 files changed, 34 insertions(+), 19 deletions(-) diff --git a/src/www/js/wc.js b/src/www/js/wc.js index 0893ae80d..a894ccaad 100644 --- a/src/www/js/wc.js +++ b/src/www/js/wc.js @@ -4,6 +4,13 @@ wc.f=document.forms[0] wc.e=element("extra") wc.p=element("pick") wc.serial=0 + +wc.delayed_translate=function() { + function restart(){ if(wc.f.input.value!=wc.translating) wc.translate() } + if(wc.timer) clearTimeout(wc.timer); + wc.timer=setTimeout(restart,500) +} + wc.translate=function() { var current= ++wc.serial var f=wc.f, e=wc.e, p=wc.p @@ -18,6 +25,7 @@ wc.translate=function() { f.output.className="" wc.r=[] wc.current=0 + wc.translating=f.input.value clear(e) clear(p) @@ -117,7 +125,7 @@ wc.translate=function() { step3cnl, function(){step2(text)}) } - lextext(f.input.value,wc.cnl ? step2cnl : step2) + lextext(wc.translating,wc.cnl ? step2cnl : step2) return false; } @@ -132,11 +140,13 @@ wc.speak=function(text,lang) { wc.swap=function() { var f=wc.f + var old_input=f.input.value f.input.value=f.output.value; + f.output.value=old_input var from=f.from.value f.from.value=f.to.value f.to.value=from - //wc.translate() // changing f.to.value is enough to start the translation + wc.translate() } wc.google_translate_url=function() { @@ -182,3 +192,4 @@ if(wc.cnl) { wc.pgf_online=pgf_online({}); wc.pgf_online.switch_grammar(wc.cnl+".pgf") } +wc.f.input.focus() diff --git a/src/www/wc.html b/src/www/wc.html index 6d4e2aa96..17951fefe 100644 --- a/src/www/wc.html +++ b/src/www/wc.html @@ -7,10 +7,11 @@