Difference between revisions of "User:Mono/GSoC 2017"

From Apertium
Jump to navigation Jump to search
Line 157: Line 157:
 
== Installation Notification ==
 
== Installation Notification ==
   
A notification that appears when the requests made to the APy take more than a threshold time. This notification also appears when a cumulative average of the requests duration exceeds a certain threshold indicating that the servers may be overloaded and thus, one could set the APy locally too.
+
1. A notification that appears when the requests made to the APy take more than a threshold time. <br/>
  +
2. This notification also appears when a cumulative average of the requests duration exceeds a certain threshold indicating that the servers may be overloaded and thus, one could set the APy locally too.
   
 
=== Code ===
 
=== Code ===
   
 
* https://github.com/goavki/apertium-html-tools/commit/662a48b4858f4e731e454a5547f6a9e76c3c96f8
 
* https://github.com/goavki/apertium-html-tools/commit/662a48b4858f4e731e454a5547f6a9e76c3c96f8
  +
  +
  +
== POST v/s GET ==
  +
  +
1. Initially, the AJAX requests made use of GET method to retrieve output from the backend. <br/>
  +
2. The GET method was used so as to enable the use of ''jsonp'' which would allow cross domain requests. However, this gave a ''414-request URI too large'' error when the input size would be large.
  +
3. This was resolved by making use of POST method when the input size would be huge.
  +
  +
=== Code ===
  +
  +
* https://github.com/goavki/apertium-html-tools/commit/d40162f4c134c2b168d7f28627606d3ac7c58630

Revision as of 15:19, 27 August 2017

Webpage Translation mode

An interface that lets the user to input a URL, choose a source and a destination language and translate the webpage.

Code

Backend

Frontend

Documentation

Backend

URL Function Parameters Output
/translatePage Translates a webpage
  • langpair: language pair to use for translation
  • url: url of webpage that has to be translated
Returns the translated webpage
curl -Ss 'http://localhost:2737/translatePage?langpair=eng|spa&url=http://facebook.com'

output

Frontend

ENABLED_MODES: an array of the enabled interfaces, a non-empty subset of ['translation', 'analyzation', 'generation', 'sandbox']

  • translation lookup turns on webpage translation mode.

Future Work

1. The backend for this mode is merged in this commit. The screenshot of the current state of interface can be found here.
2. The interface is pretty much functional. However, a future task is to make use of a form handler while submitting the URL links for translation. The related issues are in this comment.


SpellChecker mode

Checks for the spelling of input text for a given language and suggests alternatives if the spelling is wrong.

Code

Backend

Frontend

Documentation

Backend

URL Function Parameters Output
/speller Performs spellchecking on a given text for a given language
  • lang: language to perform spellchecking for
  • q: text to perform spellchecking on
Returns the spellchecking results
curl -Ss 'http://localhost:2737/speller?lang=hin&q=माय' | ascii2uni -a U -q

[{"sugg": [["काय", "1.000000"], ["चाय", "1.000000"], ["राय", "1.000000"], ["हाय", "1.000000"], ["साय", "1.000000"], ["मा", "1.000000"], ["वाय", "1.000000"], ["दाय", "1.000000"], ["गाय", "1.000000"], ["जाय", "1.000000"]], "known": false, "token": "माय"}]

Frontend

ENABLED_MODES: an array of the enabled interfaces, a non-empty subset of ['translation', 'analyzation', 'generation', 'sandbox', 'speller']

  • speller turns on spell checking mode.

Future Work

1. The screenshot of the current state of interface can be found here.
2. Improving the logic of mapping the suggestions returned from the backend for the tokens appropriately to the corresponding text on the frontend.


Dictionary Lookup mode

An interface that generates all forms of a given word. It renders the definitions of a given word for a given language pair after translating them.

Code

Backend

Frontend

Documentation

Backend

URL Function Parameters Output
/dictionaryLookup Generate dictionary forms of a given word
  • langpair: language pair to use for translation
  • q: word to perform dictionary lookup on
Returns the possible forms of after translation
curl -Ss 'http://localhost:2737/dictionaryLookup?langpair=eng|spa&q=light'
{"vblex": ["encender", "iluminar"], "n": ["luz"], "adj": ["ligero", "claro"]}

Frontend

ENABLED_MODES: an array of the enabled interfaces, a non-empty subset of ['translation', 'analyzation', 'generation', 'sandbox']

  • translation lookup turns on dictionary lookup mode.

Future Work

1. The screenshot of the current state of interface can be found here.
2. The pending tasks with respect to dictionary lookup mode are discussed in this comment.


Installation Notification

1. A notification that appears when the requests made to the APy take more than a threshold time.
2. This notification also appears when a cumulative average of the requests duration exceeds a certain threshold indicating that the servers may be overloaded and thus, one could set the APy locally too.

Code


POST v/s GET

1. Initially, the AJAX requests made use of GET method to retrieve output from the backend.
2. The GET method was used so as to enable the use of jsonp which would allow cross domain requests. However, this gave a 414-request URI too large error when the input size would be large. 3. This was resolved by making use of POST method when the input size would be huge.

Code