Σε αυτή την άσκηση θα παρέχεις ένα TranslationService, όπου τα μέλη που πληρώνουν έχουν κάποια διασφάλιση ποιότητας.
Βρήκες ένα μαγικό API μετάφρασης που μπορεί να ικανοποιήσει οποιοδήποτε αίτημα μετάφρασης σε λογικό χρόνο, και θέλεις να το εκμεταλλευτείς.
Το μαγικό API έχει μια πολύ μινιμαλιστική διεπαφή:
Το api.fetch(text) ανακτά τη μετάφραση του text και επιστρέφει δύο τιμές:
translation: η πραγματική μετάφρασηquality: η ποιότητα εκφρασμένη ως αριθμόςΑν δεν υπάρχει διαθέσιμη μετάφραση (επειδή δεν έχει ζητηθεί ακόμη), το API πετάει ένα σφάλμα. Το ίδιο συμβαίνει και αν ένα κομμάτι κειμένου δεν είναι μεταφράσιμο.
Το api.request(text, callback) ζητάει τη μετάφραση του text και καλεί το callback μόλις αυτή είναι έτοιμη, χωρίς κάποια τιμή.
Το API request είναι ασταθές, που σημαίνει ότι μερικές φορές το API θα καλέσει το callback με ένα σφάλμα. Αν συμβεί αυτό, δεν πειράζει να ξανακάνεις το αίτημα.
Επειδή κάποιοι προηγούμενοι χρήστες ήταν τεμπέληδες όταν προγραμμάτιζαν και ζητούσαν πάντα μετάφραση, χωρίς καν να ελέγξουν αν το κείμενο έχει ήδη μεταφραστεί, το API επιστρέφει σφάλμα αν το κείμενο έχει ήδη μεταφραστεί και μπλοκάρει εντελώς κάθε πρόσβαση, για πάντα.
Αυτά είναι παραδείγματα εργασιών που ταιριάζουν στην ιστορία της υπηρεσίας μετάφρασης:
Αυτές είναι συστάσεις, όχι κανόνες, για την επαναλαμβανόμενη ορολογία στις οδηγίες (συμπεριλαμβανομένων των σχολίων στο stub)
TranslationService, ή APIcallback με ένα σφάλμα
Όλα τα κείμενα προς μετάφραση είναι από Κλίνγκον σε αγγλικά.
Η σωστή μετάφραση του 'arlogh Qoylu'pu'? είναι How many times has it been heard?.