mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-09-16 07:16:02 -06:00
Merge branch 'majestic' of github.com:krangelov/gf-core into majestic
This commit is contained in:
@@ -99,7 +99,7 @@ gftranslate.get_languages=function(cont,errcont) {
|
|||||||
else {
|
else {
|
||||||
gftranslate.waiting.push({cont:cont,errcont:errcont})
|
gftranslate.waiting.push({cont:cont,errcont:errcont})
|
||||||
if(gftranslate.waiting.length<2)
|
if(gftranslate.waiting.length<2)
|
||||||
gftranslate.call("?command=grammar",init2,init2error)
|
gftranslate.call("",init2,init2error)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-116
@@ -2,8 +2,6 @@
|
|||||||
/* --- Wide Coverage Translation Demo web app ------------------------------- */
|
/* --- Wide Coverage Translation Demo web app ------------------------------- */
|
||||||
|
|
||||||
var wc={}
|
var wc={}
|
||||||
wc.selected_cnls=[] // list of grammar names
|
|
||||||
wc.cnls={} // maps grammars names to {pgf_online:...,grammar_info:{...}}
|
|
||||||
wc.f=document.forms[0]
|
wc.f=document.forms[0]
|
||||||
wc.o=element("output")
|
wc.o=element("output")
|
||||||
wc.e=element("extra")
|
wc.e=element("extra")
|
||||||
@@ -44,7 +42,6 @@ wc.save=function() {
|
|||||||
wc.local.put("to",f.to.value)
|
wc.local.put("to",f.to.value)
|
||||||
wc.local.put("input",f.input.value)
|
wc.local.put("input",f.input.value)
|
||||||
wc.local.put("colors",f.colors.checked)
|
wc.local.put("colors",f.colors.checked)
|
||||||
wc.local.put("cnls",wc.selected_cnls)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -55,7 +52,6 @@ wc.load=function() {
|
|||||||
f.from.value=wc.local.get("from",f.from.value)
|
f.from.value=wc.local.get("from",f.from.value)
|
||||||
f.to.value=wc.local.get("to",f.to.value)
|
f.to.value=wc.local.get("to",f.to.value)
|
||||||
f.colors.checked=wc.local.get("colors",f.colors.checked)
|
f.colors.checked=wc.local.get("colors",f.colors.checked)
|
||||||
wc.selected_cnls=wc.local.get("cnls",wc.selected_cnls)
|
|
||||||
wc.colors()
|
wc.colors()
|
||||||
wc.delayed_translate()
|
wc.delayed_translate()
|
||||||
}
|
}
|
||||||
@@ -239,37 +235,7 @@ wc.translate=function(redo) {
|
|||||||
gftranslate.translate(text,f.from.value,wc.languages || f.to.value,i,count,step3)
|
gftranslate.translate(text,f.from.value,wc.languages || f.to.value,i,count,step3)
|
||||||
}
|
}
|
||||||
function step2(text) { trans(text,0,10) }
|
function step2(text) { trans(text,0,10) }
|
||||||
function step2cnl(text,ix) {
|
step2(so.input)
|
||||||
function step3cnl(results) {
|
|
||||||
var trans=results[0].translations
|
|
||||||
if(trans && trans.length>=1) {
|
|
||||||
for(var i=0;i<trans.length;i++) {
|
|
||||||
var r=trans[i]
|
|
||||||
r.prob=0
|
|
||||||
showit(r,cnl)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
step2cnl(text,ix+1)
|
|
||||||
}
|
|
||||||
if(ix<wc.selected_cnls.length) {
|
|
||||||
var g=wc.cnls[wc.selected_cnls[ix]]
|
|
||||||
var gi=g.grammar_info
|
|
||||||
var langs=gi.languages.map(function(l) { return l.name; })
|
|
||||||
var cnl=gi.name
|
|
||||||
var from=cnl+f.from.value,to=cnl+f.to.value
|
|
||||||
if(elem(from,langs) && elem(to,langs))
|
|
||||||
g.pgf_online.translate({from:from,
|
|
||||||
//to:to,
|
|
||||||
lexer:"text",unlexer:"text",
|
|
||||||
jsontree:true,input:text},
|
|
||||||
step3cnl,
|
|
||||||
function(){step2cnl(text,ix+1)})
|
|
||||||
else step2cnl(text,ix+1)
|
|
||||||
}
|
|
||||||
else step2(text)
|
|
||||||
}
|
|
||||||
if(wc.selected_cnls) step2cnl(so.input,0)
|
|
||||||
else step2(so.input)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function change_segment_to(so,to) {
|
function change_segment_to(so,to) {
|
||||||
@@ -428,86 +394,6 @@ wc.init_speech=function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
wc.show_grammarbox=function() {
|
|
||||||
wc.grammarbox.parentNode.style.display="block";
|
|
||||||
}
|
|
||||||
|
|
||||||
wc.hide_grammarbox=function() {
|
|
||||||
wc.grammarbox.parentNode.style.display="";
|
|
||||||
clear(wc.grammarbox)
|
|
||||||
}
|
|
||||||
|
|
||||||
wc.init_cnl=function(grammar) {
|
|
||||||
var g
|
|
||||||
if(wc.cnls[grammar]) g=wc.cnls[grammar]
|
|
||||||
else g=wc.cnls[grammar]={}
|
|
||||||
g.pgf_online=pgf_online({})
|
|
||||||
g.pgf_online.switch_grammar(grammar)
|
|
||||||
g.pgf_online.grammar_info(function(info){g.grammar_info=info})
|
|
||||||
}
|
|
||||||
|
|
||||||
wc.init_cnls=function() {
|
|
||||||
var gs=wc.selected_cnls
|
|
||||||
for(var i=0;i<gs.length;i++) wc.init_cnl(gs[i])
|
|
||||||
}
|
|
||||||
|
|
||||||
wc.select_grammars=function() {
|
|
||||||
function done() {
|
|
||||||
wc.hide_grammarbox()
|
|
||||||
var gs=[]
|
|
||||||
var glist=list.children
|
|
||||||
for(var i=0;i<glist.length;i++)
|
|
||||||
if(glist[i].cb.checked) gs.push(glist[i].grammar)
|
|
||||||
wc.selected_cnls=gs
|
|
||||||
wc.init_cnls()
|
|
||||||
wc.local.put("cnls",wc.selected_cnls)
|
|
||||||
wc.translate(true)
|
|
||||||
}
|
|
||||||
function cancel() {
|
|
||||||
wc.hide_grammarbox()
|
|
||||||
}
|
|
||||||
function remove(x,xs) {
|
|
||||||
function other(y) { return y!=x; }
|
|
||||||
return filter(other,xs)
|
|
||||||
}
|
|
||||||
function checkbox(grammar,checked) {
|
|
||||||
var vb=node("input",{type:"checkbox"})
|
|
||||||
vb.checked=checked
|
|
||||||
return vb
|
|
||||||
}
|
|
||||||
function grammar_pick(grammar,checked) {
|
|
||||||
var cb=checkbox(grammar,checked)
|
|
||||||
var p=[cb,text(" "+grammar.split(".pgf")[0])]
|
|
||||||
var dt=node("dt",{class:"grammar_pick"},p)
|
|
||||||
dt.cb=cb
|
|
||||||
dt.grammar=grammar
|
|
||||||
return dt
|
|
||||||
}
|
|
||||||
function show_list(grammars) {
|
|
||||||
var sg=wc.selected_cnls
|
|
||||||
for(var i=0;i<sg.length;i++) {
|
|
||||||
if(elem(sg[i],grammars))
|
|
||||||
list.appendChild(grammar_pick(sg[i],true))
|
|
||||||
else
|
|
||||||
remove(sg[i],wc.selected_cnls)
|
|
||||||
}
|
|
||||||
for(var i=0;i<grammars.length;i++)
|
|
||||||
if(!elem(grammars[i],wc.selected_cnls))
|
|
||||||
list.appendChild(grammar_pick(grammars[i],false))
|
|
||||||
}
|
|
||||||
|
|
||||||
clear(wc.grammarbox)
|
|
||||||
wc.grammarbox.appendChild(wrap("h2",[button("X",cancel),text("Select which domain-specific grammars to use")]))
|
|
||||||
wc.grammarbox.appendChild(text("These grammars are tried before the wide-coverage grammar. They can give higher quality translations within their respective domains."))
|
|
||||||
var list=empty("dl")
|
|
||||||
wc.grammarbox.appendChild(list)
|
|
||||||
wc.grammarbox.appendChild(button("OK",done))
|
|
||||||
wc.grammarbox.appendChild(button("Cancel",cancel))
|
|
||||||
wc.show_grammarbox()
|
|
||||||
wc.pgf_online.get_grammarlist(show_list)
|
|
||||||
}
|
|
||||||
|
|
||||||
wc.initialize=function(grammar_name,grammar_url) {
|
wc.initialize=function(grammar_name,grammar_url) {
|
||||||
if(grammar_name && grammar_url) {
|
if(grammar_name && grammar_url) {
|
||||||
gftranslate.grammar=grammar_name
|
gftranslate.grammar=grammar_name
|
||||||
@@ -519,7 +405,6 @@ wc.initialize=function(grammar_name,grammar_url) {
|
|||||||
wc.pgf_online=pgf_online({});
|
wc.pgf_online=pgf_online({});
|
||||||
wc.local=appLocalStorage("gf.wc."+gftranslate.grammar+".")
|
wc.local=appLocalStorage("gf.wc."+gftranslate.grammar+".")
|
||||||
wc.load()
|
wc.load()
|
||||||
wc.init_cnls()
|
|
||||||
initialize_sorting(["DT"],["grammar_pick"])
|
initialize_sorting(["DT"],["grammar_pick"])
|
||||||
wc.f.input.focus()
|
wc.f.input.focus()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,7 +92,6 @@ h2 > input { float: right; }
|
|||||||
</select>
|
</select>
|
||||||
<input name=colors type=checkbox checked onchange="wc.colors()"> Colors
|
<input name=colors type=checkbox checked onchange="wc.colors()"> Colors
|
||||||
<td><button name=translate type=submit><strong>Translate</strong></button>
|
<td><button name=translate type=submit><strong>Translate</strong></button>
|
||||||
<input type=button name=grammars onclick="wc.select_grammars()" value="Grammars...">
|
|
||||||
<tr><td class=input colspan=2>
|
<tr><td class=input colspan=2>
|
||||||
<div class=input>
|
<div class=input>
|
||||||
<textarea name=input rows=5 style="width: 100%" onkeyup="wc.delayed_translate()"></textarea>
|
<textarea name=input rows=5 style="width: 100%" onkeyup="wc.delayed_translate()"></textarea>
|
||||||
|
|||||||
Reference in New Issue
Block a user