এই অনুশীলনীতে আপনি একটি TranslationService বানাবেন, যেখানে পেইড মেম্বারদের জন্য কিছুটা কোয়ালিটি নিশ্চিত করা হয়।
আপনি একটি জাদুকরী অনুবাদ API খুঁজে পেয়েছেন, যা যেকোনো অনুবাদ রিকোয়েস্ট যুক্তিসঙ্গত সময়ের মধ্যে পূরণ করতে পারে, আর আপনি এর সুবিধা নিতে চান।
জাদুকরী API-টির ইন্টারফেস খুবই সরল:
api.fetch(text) কল করলে text-এর অনুবাদ পাওয়া যায় এবং তা দুটি মান রিটার্ন করে:
translation: আসল অনুবাদquality: কোয়ালিটি, একটি সংখ্যা হিসেবে প্রকাশ করাকোনো অনুবাদ পাওয়া না গেলে (কারণ তখনো সেটি রিকোয়েস্ট করা হয়নি), API একটি এরর থ্রো করে। কোনো টেক্সটের অনুবাদ করা সম্ভব না হলেও একই ঘটনা ঘটে।
api.request(text, callback) হলো text-এর অনুবাদ রিকোয়েস্ট করে, আর সেটি প্রস্তুত হয়ে গেলে callback-কে কল করে, তবে কোনো মান ছাড়াই।
request API-টি অস্থির, অর্থাৎ মাঝে মাঝে API callback-কে একটি এরর দিয়ে কল করবে। এমন হলে আবার রিকোয়েস্ট করা ঠিক আছে।
আগের কিছু ইউজার প্রোগ্রামিং করার সময় অলস ছিলেন। তাঁরা টেক্সট আগেই অনুবাদ হয়ে গেছে কি না তা একবারও না দেখে সব সময় অনুবাদ রিকোয়েস্ট করতেন। এর ফলে টেক্সট আগেই অনুবাদ হয়ে থাকলে API একটি এরর রিটার্ন করে এবং সব অ্যাক্সেস চিরতরে পুরোপুরি ব্লক করে দেয়।
এগুলো এমন কিছু কাজের উদাহরণ, যা অনুবাদ সার্ভিসের গল্পের সাথে মানানসই:
নির্দেশনার ভেতরে বারবার আসা পরিভাষার জন্য এগুলো সুপারিশ, নিয়ম নয় (স্টাব কমেন্টসহ):
TranslationService, বা APIcallback-কে একটি এরর দিয়ে কল করবে
সব অনুবাদ টেক্সট ক্লিংগন থেকে ইংরেজিতে হয়।
'arlogh Qoylu'pu'?-এর সঠিক অনুবাদ হলো How many times has it been heard?।