En este ejercicio vas a proporcionar un TranslationService con el que los miembros de pago cuentan con cierto control de calidad.
Encontraste una API de traducción mágica capaz de responder cualquier solicitud de traducción en un tiempo razonable, y quieres sacarle provecho.
La API mágica tiene una interfaz muy 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 una traducción disponible (porque todavía no se ha solicitado), la API lanza un error. Esto también pasa si un texto es intraducible.
api.request(text, callback) solicita la traducción de text y llama a callback cuando está lista, sin ningún valor.
La API de request es inestable, lo que significa que a veces llamará a callback con un error. Si eso pasa, no hay problema en volver a solicitarla.
Como algunos usuarios anteriores fueron flojos al programar y siempre solicitaban una traducción, sin siquiera comprobar 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 de traducción son de klingon a inglés.
La traducción correcta de 'arlogh Qoylu'pu'? es How many times has it been heard?.