forked from GitHub/gf-core
Wide Coverage Demo App: restore swap button
This commit is contained in:
@@ -5,6 +5,7 @@ wc.o=element("output")
|
|||||||
wc.e=element("extra")
|
wc.e=element("extra")
|
||||||
wc.p=element("pick")
|
wc.p=element("pick")
|
||||||
wc.serial=0
|
wc.serial=0
|
||||||
|
wc.os=[]
|
||||||
|
|
||||||
wc.delayed_translate=function() {
|
wc.delayed_translate=function() {
|
||||||
function restart(){ if(wc.f.input.value!=wc.translating) wc.translate() }
|
function restart(){ if(wc.f.input.value!=wc.translating) wc.translate() }
|
||||||
@@ -15,10 +16,6 @@ wc.delayed_translate=function() {
|
|||||||
if(wc.f.input.clientHeight<h) wc.f.input.style.height=h+15+"px"
|
if(wc.f.input.clientHeight<h) wc.f.input.style.height=h+15+"px"
|
||||||
}
|
}
|
||||||
|
|
||||||
wc.split_punct=function(s) {
|
|
||||||
return s.split(/([.!?]+[ \t\n]+|\n\n+|[ \t\n]*[-•*+#]+[ \t\n]+)/)
|
|
||||||
}
|
|
||||||
|
|
||||||
wc.translate=function() {
|
wc.translate=function() {
|
||||||
var current= ++wc.serial
|
var current= ++wc.serial
|
||||||
var f=wc.f, e=wc.e, p=wc.p
|
var f=wc.f, e=wc.e, p=wc.p
|
||||||
@@ -31,14 +28,35 @@ wc.translate=function() {
|
|||||||
}
|
}
|
||||||
disable(true)
|
disable(true)
|
||||||
clear(wc.o)
|
clear(wc.o)
|
||||||
|
wc.os=[]
|
||||||
clear(e)
|
clear(e)
|
||||||
clear(p)
|
clear(p)
|
||||||
|
|
||||||
|
|
||||||
|
function split_punct(s) {
|
||||||
|
return s.split(/([.!?]+[ \t\n]+|\n\n+|[ \t\n]*[-•*+#]+[ \t\n]+)/)
|
||||||
|
}
|
||||||
|
function trans_quality(r) {
|
||||||
|
var text=r.text
|
||||||
|
if(r.prob==0) return {quality:"high_quality",text:text}
|
||||||
|
else {
|
||||||
|
var quality="default_quality"
|
||||||
|
switch(text[0]) {
|
||||||
|
case '+': text=text.substr(1); quality="high_quality"; break;
|
||||||
|
case '*': text=text.substr(1); quality="low_quality"; break;
|
||||||
|
default:
|
||||||
|
if(r.tree[0]=="?") quality="low_quality"
|
||||||
|
}
|
||||||
|
if(text[0]==" ") text=text.substr(1)
|
||||||
|
return {quality:quality,text:text}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function translate_segment(si) {
|
function translate_segment(si) {
|
||||||
var rs=[]
|
var rs=[]
|
||||||
var current_pick=0
|
var current_pick=0
|
||||||
var get_more
|
var get_more
|
||||||
var output=os[si].target
|
var output=wc.os[si].target
|
||||||
|
|
||||||
function show_error(msg) {
|
function show_error(msg) {
|
||||||
//if(e) e.innerHTML="<span class=low_quality>Translation problem: "+msg+"</span>"
|
//if(e) e.innerHTML="<span class=low_quality>Translation problem: "+msg+"</span>"
|
||||||
@@ -49,21 +67,6 @@ wc.translate=function() {
|
|||||||
}
|
}
|
||||||
disable(false)
|
disable(false)
|
||||||
}
|
}
|
||||||
function trans_quality(r) {
|
|
||||||
var text=r.text
|
|
||||||
if(r.prob==0) return {quality:"high_quality",text:text}
|
|
||||||
else {
|
|
||||||
var quality="default_quality"
|
|
||||||
switch(text[0]) {
|
|
||||||
case '+': text=text.substr(1); quality="high_quality"; break;
|
|
||||||
case '*': text=text.substr(1); quality="low_quality"; break;
|
|
||||||
default:
|
|
||||||
if(r.tree[0]=="?") quality="low_quality"
|
|
||||||
}
|
|
||||||
if(text[0]==" ") text=text.substr(1)
|
|
||||||
return {quality:quality,text:text}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function show_pick(i) { return function() { show_trans(i); return false; } }
|
function show_pick(i) { return function() { show_trans(i); return false; } }
|
||||||
function show_picks() {
|
function show_picks() {
|
||||||
clear(p)
|
clear(p)
|
||||||
@@ -102,14 +105,14 @@ wc.translate=function() {
|
|||||||
var r=rs[i]
|
var r=rs[i]
|
||||||
var t=trans_quality(r)
|
var t=trans_quality(r)
|
||||||
replaceChildren(output,text(t.text))
|
replaceChildren(output,text(t.text))
|
||||||
|
wc.os[si].text=t.text
|
||||||
output.className=t.quality
|
output.className=t.quality
|
||||||
current_pick=i
|
current_pick=i
|
||||||
if(selected==si) show_more()
|
if(selected==si) show_more()
|
||||||
}
|
}
|
||||||
|
|
||||||
function showit(r,text) {
|
function showit(r,text) {
|
||||||
if(text.length>0 && text[text.length-1]=="\n")
|
text=text.trimRight()
|
||||||
text=text.substr(0,text.length-1)
|
|
||||||
rs.push(r)
|
rs.push(r)
|
||||||
var j=rs.length-1
|
var j=rs.length-1
|
||||||
rs[j].text=text
|
rs[j].text=text
|
||||||
@@ -159,15 +162,15 @@ wc.translate=function() {
|
|||||||
lextext(is[si],wc.cnl ? step2cnl : step2)
|
lextext(is[si],wc.cnl ? step2cnl : step2)
|
||||||
}
|
}
|
||||||
wc.translating=f.input.value
|
wc.translating=f.input.value
|
||||||
var is=wc.is=wc.split_punct(wc.translating+"\n")
|
var is=wc.is=split_punct(wc.translating+"\n")
|
||||||
var os=[]
|
|
||||||
for(var i=0;i<is.length;i++) {
|
for(var i=0;i<is.length;i++) {
|
||||||
if(i&1) { // punctiation
|
wc.os[i]={text:is[i]}
|
||||||
|
if(i&1) { // punctuation
|
||||||
wc.o.appendChild(span_class("punct",text(is[i])))
|
wc.o.appendChild(span_class("punct",text(is[i])))
|
||||||
}
|
}
|
||||||
else { // segment
|
else { // segment
|
||||||
var o=os[i]={target:span_class("placeholder",text(is[i]))}
|
var o=wc.os[i].target=span_class("placeholder",text(is[i]))
|
||||||
wc.o.appendChild(o.target)
|
wc.o.appendChild(o)
|
||||||
translate_segment(i)
|
translate_segment(i)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -185,9 +188,8 @@ wc.speak=function(text,lang) {
|
|||||||
|
|
||||||
wc.swap=function() {
|
wc.swap=function() {
|
||||||
var f=wc.f
|
var f=wc.f
|
||||||
var old_input=f.input.value
|
function txt(r) { return r.text }
|
||||||
f.input.value=f.output.value;
|
f.input.value=wc.os.map(txt).join("").trimRight()
|
||||||
f.output.value=old_input
|
|
||||||
var from=f.from.value
|
var from=f.from.value
|
||||||
f.from.value=f.to.value
|
f.from.value=f.to.value
|
||||||
f.to.value=from
|
f.to.value=from
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ small { color: #666; }
|
|||||||
<option value=Swe>Swedish</option>
|
<option value=Swe>Swedish</option>
|
||||||
</select>
|
</select>
|
||||||
<td style="text-align: right">
|
<td style="text-align: right">
|
||||||
<!--<input type=button name=swap onclick="wc.swap()" value="⇆">-->
|
<input type=button name=swap onclick="wc.swap()" value="⇆">
|
||||||
<td>
|
<td>
|
||||||
<select name=to onchange="wc.translate()">
|
<select name=to onchange="wc.translate()">
|
||||||
<option value=Bul>Bulgarian</option>
|
<option value=Bul>Bulgarian</option>
|
||||||
@@ -77,7 +77,7 @@ small { color: #666; }
|
|||||||
</div>
|
</div>
|
||||||
<p>
|
<p>
|
||||||
<div class=modtime><small>
|
<div class=modtime><small>
|
||||||
<!-- hhmts start -->Last modified: Mon Apr 7 14:48:57 CEST 2014 <!-- hhmts end -->
|
<!-- hhmts start -->Last modified: Tue Apr 8 13:22:42 CEST 2014 <!-- hhmts end -->
|
||||||
</small></div>
|
</small></div>
|
||||||
<script src="js/support.js"></script>
|
<script src="js/support.js"></script>
|
||||||
<script src="js/gftranslate.js"></script>
|
<script src="js/gftranslate.js"></script>
|
||||||
|
|||||||
Reference in New Issue
Block a user