summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhallgren <hallgren@chalmers.se>2014-04-09 19:49:45 +0000
committerhallgren <hallgren@chalmers.se>2014-04-09 19:49:45 +0000
commit96f36d8f0a689aa09c1e92e36eaf598dd13ba978 (patch)
tree01caa6f38bdbddde7697ff1d712f24d3c2411631
parentd1da0e06de1d50e5246ea362ea8f2949b6a2a950 (diff)
Wide Coverage Demo App: use PGF service lexing/unlexing
It is now enough to make one server call per translation, and the results can cached by the browser.
-rw-r--r--src/www/js/gftranslate.js2
-rw-r--r--src/www/js/wc.js28
-rw-r--r--src/www/wc.html4
3 files changed, 15 insertions, 19 deletions
diff --git a/src/www/js/gftranslate.js b/src/www/js/gftranslate.js
index 838030c05..db54b1b81 100644
--- a/src/www/js/gftranslate.js
+++ b/src/www/js/gftranslate.js
@@ -20,7 +20,7 @@ gftranslate.translate=function(source,from,to,start,limit,cont) {
function extract(result) { cont(result[0].translations) }
if(encsrc.length<500)
gftranslate.call("?command=c-translate&input="+encsrc
- +"&lexer=text&from="+g+from+"&to="+g+to
+ +"&lexer=text&unlexer=text&from="+g+from+"&to="+g+to
+"&start="+start+"&limit="+limit,extract)
else cont([{error:"sentence too long"}])
}
diff --git a/src/www/js/wc.js b/src/www/js/wc.js
index d56eb637a..30737aad8 100644
--- a/src/www/js/wc.js
+++ b/src/www/js/wc.js
@@ -5,7 +5,7 @@ wc.o=element("output")
wc.e=element("extra")
wc.p=element("pick")
wc.serial=0
-wc.os=[]
+wc.os=[] // output segment list
wc.local=appLocalStorage("gf.wc.")
wc.delayed_translate=function() {
@@ -75,11 +75,11 @@ wc.translate=function() {
}
}
- function translate_segment(si) {
- var rs=[]
- var current_pick=0
- var get_more
- var output=wc.os[si].target
+ function translate_segment(si) { // si = segment index
+ var rs=[] // list of alternative translations for this segment
+ var current_pick=0 // index of currently selected alternative
+ var get_more // if defined, a function that will fetch more alternatives
+ var output=wc.os[si].target // the element where this segment is shown
function show_error(msg) {
//if(e) e.innerHTML="<span class=low_quality>Translation problem: "+msg+"</span>"
@@ -133,9 +133,10 @@ wc.translate=function() {
if(selected==si) show_more()
}
- function showit(r,text) {
- text=text.trimRight()
- r.text=text
+ function showit(r) {
+ r.t=trans_quality(r)
+ //r.t.text=r.t.text.trimRight()
+ r.text=r.t.text
rs.push(r)
var j=rs.length-1
if(current_pick==j) show_trans(j)
@@ -151,8 +152,7 @@ wc.translate=function() {
if(i==0 && rs.length==0) show_error(tra[0].error)
}
else if(r.linearizations) {
- r.t=trans_quality(r)
- unlextext(r.t.text,function(text){showit(r,text)})
+ showit(r)
if(wc.p && i<9) {
if(si==selected) trans(text,i+1)
else get_more=function() { trans(text,i+1) }
@@ -173,18 +173,16 @@ wc.translate=function() {
if(trans && trans.length>=1) {
var r=trans[0]
r.prob=0
- r.t=trans_quality(r)
- unlextext(r.t.text,function(text){showit(r,text)})
+ showit(r)
}
step2(text)
}
wc.pgf_online.translate({from:wc.cnl+f.from.value,
to:wc.cnl+f.to.value,
- lexer:"text",input:text},
+ lexer:"text",unlexer:"text",input:text},
step3cnl,
function(){step2(text)})
}
- //lextext(is[si],wc.cnl ? step2cnl : step2)
if(wc.cnl) step2cnl(is[si])
else step2(is[si])
}
diff --git a/src/www/wc.html b/src/www/wc.html
index b91dabf36..eddf9595a 100644
--- a/src/www/wc.html
+++ b/src/www/wc.html
@@ -78,13 +78,11 @@ small { color: #666; }
</div>
<p>
<div class=modtime><small>
-<!-- hhmts start -->Last modified: Wed Apr 9 15:43:04 CEST 2014 <!-- hhmts end -->
+<!-- hhmts start -->Last modified: Wed Apr 9 20:57:07 CEST 2014 <!-- hhmts end -->
</small></div>
<script src="js/support.js"></script>
<script src="js/gftranslate.js"></script>
<script src="js/localstorage.js"></script>
-<script src="gfse/localstorage.js"></script>
-<script src="gfse/cloud2.js"></script>
<script src="js/langcode.js"></script>
<script src="js/pgf_online.js"></script>
<script src="js/wc.js"></script>