Basically, it's a text translator that also allows the user to define words for certain languages.
****************************************
LOADER:
* The app uses an appId for the translation requests. That appId must be obtained through a hidden input inside a webview and it should be requested each time the app loads.
* If the appId expires (after a few hours), instead of receiving the JSON structure of the translated text, you will receive a string like this "ArgumentException: Invalid appId\u000d\u000aParameter name: appId : ID=2563.V2_Json.TranslateArray2.357F27DC", so it should be requested again in that case.
* The translation url will be available inside a hidden input as well, to avoid problems if it needs to change in the future. Tokens will be used so that you can easily replace the appId, texts, from & to variables.
* Translation and dictionary language codes will be available in here (e.g.: es, en , fr, it).
****************************************
TRANSLATOR:
1.1) User writes (or speaks through the mic) any text.
1.2) User can change both source and target languages (the api has a language autodetect feature for the source, but the user should be able to change the source language anyways).
1.3) The translation request returns a JSON structure just like this:
[{"Alignment":"0:1-0:0 3:7-2:5 9:13-10:12 15:23-14:20","From":"es","OriginalTextSentenceLengths":[24],"TranslatedText":"I like to eat spinach","TranslatedTextSentenceLengths":[21]}]
1.4) The response is received and the "TranslatedText" value must be displayed into the native UX.
****************************************
ACTIONS (available only if there is a translation result):
* Copy: when tapped, the text is copied to the clipboard.
* Listen: when tapped, the text-to-speech component reads the translated text.
* Dictionary: The user can tap a dictionary icon that will display a list with all the translated words (one word per line). The user can tap on a word to find out it's meaning in the dictionary (go to 2.2) - Dictionary is only available for a specific set of languages. The User sees a list of definitions for the selected word (result is obtained through a JSON response from my server).
****************************************
SETTINGS
* Autospeak voice translation when translation is ready ON/OFF
* Change language (for labels). Default language is english, but if the app detects that Android is using Spanish, it should use spanish labels (this applies for 10 basic languages), there are only a few labels in the app (around 7).
****************************************
MAIN FEATURES:
* Handling JSON
* Integration of Google Analytics and Google Admob (fairly easy with their components)
* Using a webview.
* Text-to-speech capabilities (using Android's Text to Speech Engine) and microphone usage to input the text instead of writing it.
* Following defined UX
Hello There..!
i am Lalita Gill. I have two years of experience as an Android Developer. I have developed 20+ applications, and now i am working as a full time freelancer. i am a new freelancer and want to make my profile best as a freelancer that's why i'll do your work within your budget and on time.
so please contact me as soon as possible.
Thank You..!
¡Tu propuesta es tu primera (y tal vez única) oportunidad de dar una buena impresión al empleador!
Asegura que tú:
Comprendes las necesidades del proyecto.
Explica cómo tus habilidades y experiencia te hace el freelancer adecuado para el trabajo.
Describe cómo planeas completar el proyecto y las técnicas que usarás.
Invítalos a contactarte para hablar mas de los detalles.