jhogrefe / 2015-02-14-sinatra-project

0 stars 0 forks source link

Sinatra Project: Software Localization

The Software Localization project is a web tool that software developers can use to enter text strings and receive the text back translated into the supported languages. Localization for software terms is important so you do not use a translation that means something outside the scope of software functionality.

For example: A user can go to the website and enter a string of text like "Save". The Software Localization website will store a database of common translations in multiple languages (french, spanish, german, italian) and will search this database for the text that was entered. If found, the website will return the entered text, along with the text translated into any supported language. If not found it will use the Microsoft Translator API to offer alternative translations.

API Used

Microsoft Translator:

http://www.microsoft.com/translator/translator-api.aspx

Microsoft Translator is a machine translation service. The service translates a "source" text from one language to a different "target" language. The free API allows up to 2 million character translations per month and should be acceptable for the project.

Gem Used

bing_translator:

https://github.com/relrod/bing_translator-gem

Ruby wrapper for Microsoft Translate API.

"Should" cases

Here's what I want to do:

Models

1) One-to-many relationship: Main web page where the user enters text for to search for a translation. There can only be a single text string, but many language options.

2) One-to-many relationship: If a search on my database finds nothing, a custom wearch window will open with the term you want to search Microsoft Translator for. Once found, the term is translated into the supported languages.