У цій вправі ми створимо TranslationService, за допомогою якого платні учасники отримають певні гарантії якості.
Ми знайшли чарівний API перекладу, який здатен виконати будь-який запит на переклад за прийнятний час, і хочемо цим скористатися.
Чарівний API має дуже мінімальний інтерфейс:
api.fetch(text) отримує переклад text і повертає два значення:
translation: власне перекладquality: якість, виражена числомЯкщо переклад недоступний (бо його ще не запросили), API викидає помилку. Так само стається, якщо якийсь текст неможливо перекласти.
api.request(text, callback) запитує переклад text і викликає callback, щойно переклад готовий, не передаючи йому жодного значення.
API request нестабільний, тобто іноді він викликає callback з помилкою. Якщо це станеться, запит можна повторити.
Через те, що деякі попередні користувачі лінувалися, коли програмували, і завжди запитували переклад, навіть не перевіряючи, чи текст уже перекладено, API повертає помилку, якщо текст уже перекладено, і назавжди повністю блокує будь-який доступ.
Ось приклади завдань, які пасують до історії служби перекладу:
Це рекомендації, а не правила, щодо повторюваної термінології в інструкціях (зокрема в коментарях до заготовки)
TranslationService, або APIcallback з помилкою
Усі тексти перекладаються з клінгонської на англійську.
Правильний переклад 'arlogh Qoylu'pu'? - How many times has it been heard?