इस अभ्यास में आपको एक TranslationService बनाना है, जो भुगतान करने वाले सदस्यों के लिए गुणवत्ता की जाँच करती है।
आपको एक जादुई अनुवाद API मिला है, जो किसी भी अनुवाद रिक्वेस्ट को उचित समय के अंदर पूरा कर सकता है। आप इसका पूरा फायदा उठाना चाहते हैं।
इस जादुई API का इंटरफेस बहुत छोटा है:
api.fetch(text) text का अनुवाद लाता है और दो वैल्यू लौटाता है:
translation: वास्तविक अनुवादquality: संख्या के रूप में बताई गई गुणवत्ताअगर कोई अनुवाद उपलब्ध नहीं है (क्योंकि अभी उसके लिए रिक्वेस्ट नहीं की गई है), तो API एक एरर फेंकता है। ऐसा तब भी होता है जब किसी टेक्स्ट का अनुवाद न हो सके।
api.request(text, callback) text के अनुवाद की रिक्वेस्ट करता है और अनुवाद तैयार होते ही callback को कॉल करता है, बिना कोई वैल्यू दिए।
request API अस्थिर है, यानी कभी-कभी API callback को एरर के साथ कॉल करता है। ऐसा होने पर दोबारा रिक्वेस्ट करना ठीक है।
पहले के कुछ उपयोगकर्ता प्रोग्रामिंग करते समय आलसी थे और बिना यह जाँचे कि टेक्स्ट का अनुवाद हो चुका है या नहीं, हर बार उसकी रिक्वेस्ट कर देते थे। इसी वजह से अगर किसी टेक्स्ट का अनुवाद पहले ही हो चुका है, तो API एक एरर लौटाता है और उस तक की सारी पहुँच हमेशा के लिए पूरी तरह बंद कर देता है।
यहाँ कुछ ऐसे कार्यों के उदाहरण दिए गए हैं जो अनुवाद सेवा की कहानी से मेल खाते हैं:
निर्देशों में बार-बार आने वाली शब्दावली के लिए ये सिफारिशें हैं, नियम नहीं (स्टब कमेंट्री सहित):
TranslationService, या API कहते हैंcallback को एरर के साथ कॉल करेगा
सभी अनुवाद टेक्स्ट क्लिंगन से अंग्रेज़ी में हैं।
'arlogh Qoylu'pu'? का सही अनुवाद How many times has it been heard? है।