simple translator: make it work even if Apertium is unavailable

Since Apertium is unavaiable at the moment, I can't check that things
still work properly when Aprtium *is* availalbe.
This commit is contained in:
hallgren
2012-08-30 13:09:22 +00:00
parent 545e48e881
commit ffd59fc226
2 changed files with 11 additions and 7 deletions

View File

@@ -71,7 +71,7 @@
</div>
<hr>
<div class=modtime><small>HMTL
<!-- hhmts start --> Last modified: Wed Jun 13 20:21:22 CEST 2012 <!-- hhmts end -->
<!-- hhmts start -->Last modified: Thu Aug 30 15:01:31 CEST 2012 <!-- hhmts end -->
</small></div>
<a href="about.html">About</a>
@@ -80,9 +80,9 @@
<script type="text/javascript" src="../gfse/cloud2.js"></script>
<script type="text/javascript" src="../gfse/localstorage.js"></script>
<script type="text/javascript" src="translator.js"></script>
<script type="text/javascript" src="http://api.apertium.org/JSLibrary.js"></script>
<script type="text/javascript" >
var translator = new Translator()
</script>
<script defer async type="text/javascript" src="http://api.apertium.org/JSLibrary.js" onload="translator.add_apertium()"></script>
</body>
</html>

View File

@@ -15,7 +15,7 @@ function Translator() {
pgf_online({}).get_grammarlist(bind(t.extend_methods,t))
update_language_menu(t,"source")
update_language_menu(t,"target")
if(apertium) t.add_apertium()
if(window.apertium) t.add_apertium()
//initialize_sorting(["TR"],["segment"])
t.document=empty_document();
t.current=t.local.get("current")
@@ -90,9 +90,10 @@ Translator.prototype.update_language_menus=function() {
mark_menu("source",ssupport)
mark_menu("target",tsupport)
}
function yes(code) { return true; }
function no(code) { return false; }
switch(o.method) {
case "Manual":
function yes(code) { return true; }
mark_menus(yes,yes)
break;
case "Apertium":
@@ -102,7 +103,8 @@ Translator.prototype.update_language_menus=function() {
function tsupport(code) {
return apertium.isTranslatablePair(alangcode(o.from),alangcode(code))
}
mark_menus(ssupport,tsupport)
if(window.apertium) mark_menus(ssupport,tsupport)
else mark_menus(no,no)
break;
default: // GF
function cont() {
@@ -167,7 +169,9 @@ Translator.prototype.update_translation=function(i) {
function upd0(source) { apertium.translate(source,afrom,ato,upd1) }
if(apertium.isTranslatablePair(afrom,ato)) {
if(!window.apertium)
upd3(["[Apertium is not available]"])
else if(apertium.isTranslatablePair(afrom,ato)) {
if(!eq_options(segment.options,o)) upd0(segment.source)
}
else
@@ -701,7 +705,7 @@ Translator.prototype.draw_segment_given_target=function(s,target,i) {
var dl=wrap_class("dl","popupmenu",
[dt(autoB),
dt([manualB,text(" "),draw_translation(o)])])
if(apertium) add_apertium_to_menu(dl,change)
if(window.apertium) add_apertium_to_menu(dl,change)
t.extend_methods_menu(dl,change)
var form=wrap("form",dl)
var d = s.use_default