En este ejercicio vas a implementar un TranslationService en el que los miembros de pago cuentan con cierto control de calidad.
Has encontrado una API de traducción mágica capaz de atender cualquier petición de traducción en un tiempo razonable, y quieres sacarle partido.
Esta API mágica tiene una interfaz mínima:
api.fetch(text) obtiene la traducción de text y devuelve dos valores:
translation: la traducción en síquality: la calidad expresada como un númeroSi no hay ninguna traducción disponible (porque todavía no se ha solicitado), la API lanza un error. Esto también ocurre si un texto no se puede traducir.
api.request(text, callback) solicita la traducción de text y llama al callback cuando está lista, sin ningún valor.
La API de request es inestable, lo que significa que a veces llamará al callback con un error. Si eso ocurre, no pasa nada por volver a solicitarla.
Debido a que algunos usuarios anteriores eran unos vagos a la hora de programar y siempre solicitaban una traducción sin comprobar siquiera si el texto ya estaba traducido, la API devuelve un error si el texto ya se ha traducido y bloquea todo acceso por completo, para siempre.
Estos son ejemplos de tareas que encajan con la historia del servicio de traducción:
Estas son recomendaciones, no reglas, sobre la terminología recurrente en las instrucciones (incluidos los comentarios del stub)
TranslationService, o APIcallback con un error
Todos los textos que hay que traducir son de klingon a inglés.
La traducción correcta de 'arlogh Qoylu'pu'? es How many times has it been heard?.