mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
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:
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user