We want an Intenet Explorer extension to work as a client interacting with our online translation service.
This is a semi-automatic translation.
The extension will have 2 mode’s, user and translator.
In usermode the extension check’s if the current page has a translation, it then loads and write a JSON-string to the page containing functions and text-replacements.
Every translation is saved to a local file for caching.
The interface works with flags representing the languages.
It will have 3 sections.
On top the users language priority, the order of flags represents the priority eg French, Spanish, English.
The mid section will show the translations available for the current page.
The user can select one of the translations by clicking on a flag.
This will be a temporary selection for the current domain.
The bottom section holds a link to a language selection and configuration dialog.
The language selection dialog show all languages available. The user selects his preferred languages and orders them by clicking the arrows.
When done the user clicks the save-button and his priority is saved to file.
For each page the user visits the extension will first look in a local file if this page have a translation.
If it has translation a JSON-string is loaded from a local cache-file or requested from our translation service.
When a new JSON-string is loaded from server it will as well be saved in the local cache-file.
Our central service is using crc32 algorithm for indexing url. When the extension quarries for a JSON it post a 16 byte string with a crc32 of the baseurl and one of the pathurl eg.
8B183762 from search¤msdn¤microsoft¤com + 7E52183E from /search/[url removed, login to view];tab=0&query=crc32
Sending 8B1837627E52183E as query to receive the correct translation.
(¤ is to be .)
To translate a page you first surf to the page then set the extension in translator mode by a key-combination eg Shift-Ctrl-Alt-t.
A login box will then appear.
The translator must be registered by our central service.
The extension query the service and receives a true or false.
When logged in the translator selects what languages he will translate from and to in a dialog.
The translator is shown a dialog where he selects source language and target language for the translation by checking radio-buttons.
Then he can choose to click for manual or correct automatic translation.
When clicking for manual we set the page directly in translation mode. And when clicking for auto translation the page will first be translated automatically by our central service.
When in translator mode the extension menu will have two more alternatives.
Save translation and Exit Translator mode
When clicking Save translation a script function is called sending the translation to our central service.
When clicking Exit Translator mode the extension go back to user mode and reload the page to se that the translation worked.
This project will have 3 steps. Alpha, Beta, Ver 1.
The Alpha project has the goal to proof this concept and specify the product.
We now ask just for the alpha step.
The fist thing we want to se is if the extension can fetch the browser-event onbeforeload, onload and by that write a script-tag at the end of the page-body containing and making the translation.
Secondly we want the extension to place it self in the IE menu and have a working install and uninstall routine.
Third the extension can read and write to a local file and can communicate with our central service.
We want it to be timed and tested to have a recommendation for the Beta-project.
We will decide to continue to beta when this is done.