/* --- Translations object -------------------------------------------------- */ function Translations(server,options) { this.server=server; this.options=options; this.main=empty("div"); this.menus=empty("span"); this.to_menu=empty_id("select","to_menu"); appendChildren(this.menus,[text(" To: "), this.to_menu]) this.to_menu.onchange=bind(this.get_translations,this); } Translations.prototype.change_grammar=function(grammar) { this.grammar=grammar; update_language_menu(this.to_menu,grammar); insertFirst(this.to_menu,option("All","All")); this.to_menu.value="All"; } Translations.prototype.clear=function() { this.main.innerHTML=""; } Translations.prototype.translateFrom=function(current) { this.current=current; this.get_translations(); } Translations.prototype.get_translations=function() { with(this) { var c=current; if(options.show_grouped_translations) server.translategroup({from:c.from,input:c.input}, bind(show_groupedtranslations,this)); else server.translate({from:c.from,input:c.input}, bind(show_translations,this)); } } Translations.prototype.tdt=function(tree_btn,txt) { with(this) { return options.show_trees ? tda([tree_btn,txt]) : td(txt); } } Translations.prototype.target_lang=function() { with(this) return langpart(to_menu.value,grammar.name); } Translations.prototype.show_translations=function(translationResults) { with(this) { var trans=main; //var to=target_lang(); // wrong var to=to_menu.value; var cnt=translationResults.length; //trans.translations=translations; trans.single_translation=[]; trans.innerHTML=""; /* trans.appendChild(wrap("h3",text(cnt<1 ? "No translations?" : cnt>1 ? ""+cnt+" translations:": "One translation:"))); */ for(p=0;p 1) tbody.appendChild(tr([td(text(lin[i].tree))])); } trans.appendChild(wrap("table",tbody)); } } } }