diff options
| author | hallgren <hallgren@chalmers.se> | 2015-02-18 13:58:49 +0000 |
|---|---|---|
| committer | hallgren <hallgren@chalmers.se> | 2015-02-18 13:58:49 +0000 |
| commit | 24232004f02672320450225c144b0cca2756fc54 (patch) | |
| tree | 76944d69e09e6ffa3be7ae4330a3f5867fafc1a8 /src | |
| parent | 4ea4d035dd28d2d39f61d53e01b9f28ebff2946a (diff) | |
Wide Coverage Translation Demo: use App14.pgf, remove spaces from Chi, Jpn and Tha output
Diffstat (limited to 'src')
| -rw-r--r-- | src/www/js/gftranslate.js | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/src/www/js/gftranslate.js b/src/www/js/gftranslate.js index c25d6859e..8dcdcd026 100644 --- a/src/www/js/gftranslate.js +++ b/src/www/js/gftranslate.js @@ -3,7 +3,7 @@ var gftranslate = {} -gftranslate.jsonurl="/robust/App13.pgf" +gftranslate.jsonurl="/robust/App14.pgf" gftranslate.grammar="App" // the name of the grammar gftranslate.call=function(querystring,cont,errcont) { @@ -16,14 +16,32 @@ function enc_langs(g,to) { : g+to } +function unspace_translations(g,trans) { + var langs=[g+"Chi",g+"Jpn",g+"Tha"] + for(var i=0;i<trans.length;i++) { + var lins=trans[i].linearizations + for(var j=0;j<lins.length;j++) { + var lin=lins[j] + if(elem(lin.to,langs)) { + console.log(i,j,"space",lin.to,lin.text) + lin.text=lin.text.split(" ").join("") + console.log(i,j,"unspace",lin.to,lin.text) + } + } + } + return trans +} + // Translate a sentence gftranslate.translate=function(source,from,to,start,limit,cont) { var g=gftranslate.grammar var lexer="&lexer=text" - if(from=="Chi" || from=="Jpn") lexer="",source=source.split("").join(" ") + if(from=="Chi") lexer="",source=source.split("").join(" ") var encsrc=encodeURIComponent(source) function errcont(text,code) { cont([{error:code+" "+text}]) } - function extract(result) { cont(result[0].translations) } + function extract(result) { + cont(unspace_translations(g,result[0].translations)) + } if(encsrc.length<500) gftranslate.call("?command=c-translate&input="+encsrc +lexer+"&unlexer=text&from="+g+from+"&to="+enc_langs(g,to) @@ -38,7 +56,9 @@ gftranslate.wordforword=function(source,from,to,cont) { if(from=="Chi") lexer="",source=source.split("").join(" ") var encsrc=encodeURIComponent(source) function errcont(text,code) { cont([{error:code+" "+text}]) } - function extract(result) { cont(result[0].translations) } + function extract(result) { + cont(unspace_translations(g,result[0].translations)) + } var enc_to = enc_langs(g,to) if(encsrc.length<500) gftranslate.call("?command=c-wordforword&input="+encsrc |
