summaryrefslogtreecommitdiff
path: root/src/server/simple-client.html
blob: 5d320acdb3f5970010bf5a3245102d5d1a529e38 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="viewport" content="initial-scale=2.3" />
    <meta name="viewport" content="width=320; initial-scale=1.0; maximum-scale=1.0;" />
    <link rel="stylesheet" type="text/css" href="translator.css" />
    <script type="text/javascript" src="gf-server-jsapi.js"></script>
    <script type="text/javascript" src="translator.js"></script>
    <script type="text/javascript">
     function updateTranslation () {
        var input = document.getElementById('inputText').value;
        var fromLang = document.getElementById('fromLang').value;
        var toLang = document.getElementById('toLang').value;
        var output = document.getElementById('translation');

        var callback = function(translation) {
                          clearTranslation();
                          output.appendChild(formatTranslation(translation));
                       };
        gf.translate(input, fromLang, toLang, '', callback);
      }

      function populateLangs (grammar) {
        var f = document.getElementById('fromLang');
        var t = document.getElementById('toLang');
        var langs = grammar.languages;
        for (var i in langs) {
          if (langs[i].canParse) {
            addOption(f, langs[i].name, langs[i].name);
          }
          addOption(t, langs[i].name, langs[i].name);
        }
      }

      function updateCompletion() {
        var input = document.getElementById('inputText').value;
        var fromLang = document.getElementById('fromLang').value;
        var completions = document.getElementById('completion');

//        if (document.getElementById('enableCompletion').checked) {
          var callback = function(output) {
            clearCompletion();
            completions.appendChild(formatCompletions(output));
          };
          gf.complete(input, fromLang, '', callback);
//        }
      }

      function update() {
//        updateCompletion();
        updateTranslation();
      }

      function clearTranslation() {
        var output = document.getElementById('translation');
        removeChildren(output);
      }

      function clearCompletion() {
        var completions = document.getElementById('completion');
        removeChildren(completions);
      }

      function initialize() {
        gf.grammar(populateLangs);
      }
    </script>
    <title>AJAX GF Translator</title>
  </head>
  <body onload="initialize()">
    <div id="translator">
      <form onsubmit="update(); return false;">
        <p>
          <input type="text" id="inputText" value="determine the sine of 1 ." size="50" />
        </p>
        <p>
          <label>From: <select id="fromLang" onchange="update()"><option value="" selected="selected">Any language</option></select></label>
          <label>To: <select id="toLang"  onchange="update()"><option value="" selected="selected">All languages</option></select></label>
          <input type="button" value="Completions" onclick="updateCompletion()" />
          <input type="submit" value="Translate" />
        </p>
      </form>
      <div id="completion"></div>
      <div id="translation"></div>
    </div>
  </body>
</html>