In dieser Übung stellst du einen TranslationService bereit, mit dem zahlende Mitglieder eine gewisse Qualitätssicherung erhalten.
Du hast eine magische Übersetzungs-API gefunden, die jede Übersetzungs_anfrage_ in angemessener Zeit erfüllen kann, und das willst du ausnutzen.
Die magische API hat eine sehr minimale Schnittstelle:
api.fetch(text) ruft die Übersetzung von text ab und gibt zwei Werte zurück:
translation: die eigentliche Übersetzungquality: die Qualität, ausgedrückt als ZahlWenn keine Übersetzung verfügbar ist (weil sie noch nicht angefragt wurde), wirft die API einen Fehler. Das passiert auch, wenn ein Textstück nicht übersetzbar ist.
api.request(text, callback) fragt die Übersetzung von text an und ruft callback auf, sobald sie fertig ist, ohne Wert.
Die request-API ist instabil. Das bedeutet, dass die API manchmal callback mit einem Fehler aufruft. Wenn das passiert, ist es in Ordnung, erneut anzufragen.
Weil einige frühere Nutzer beim Programmieren faul waren und immer eine Übersetzung angefragt haben, ohne überhaupt zu prüfen, ob der Text schon übersetzt war, gibt die API einen Fehler zurück, wenn der Text bereits übersetzt wurde. Dann blockiert sie jeden Zugriff vollständig, für immer.
Dies sind Beispiele für Aufgaben, die zur Geschichte des Übersetzungsdienstes passen:
Dies sind Empfehlungen, keine Regeln, für wiederkehrende Begriffe in den Anweisungen (einschließlich der Kommentare in Stubs)
TranslationService oder APIcallback mit einem Fehler auf
Alle Übersetzungstexte gehen von Klingonisch nach Englisch.
Die korrekte Übersetzung von 'arlogh Qoylu'pu'? ist How many times has it been heard?.