अनुवाद का पूर्वावलोकन
भेजाव पर `translate` क्या बनाता, बिना कुछ भेजे और बिना कुछ संग्रहीत किए।
असली कॉल आपकी अपनी कुंजी से आपके वर्कस्पेस पर चलाता है।
POST /emails/translate
भेजाव पर translate क्या बनाता, बिना कुछ भेजे और बिना कुछ संग्रहीत किए।
अनुरोध
वही तीन विकल्प जिन्हें भेजाव तय करता है, envelope के बिना, उसी फ़ंक्शन से गुज़रते हुए जिसे send पथ बुलाता है। यही समानता इस एंडपॉइंट का पूरा मूल्य है: अपने अलग कोड वाला पूर्वावलोकन ऐसा वादा होता जिसे हम निभाते नहीं, और जिस दिन दोनों अलग हो जाते, किसी की स्क्रीन पर दिखी चीज़ और प्राप्तकर्ता के इनबॉक्स में पहुँची चीज़ में फ़र्क होता और यह बताने वाला कुछ न होता।
पैरामीटर
tostringआवश्यक- जिस भाषा में लिखना है। एक BCP-47 कोड (`de`), एक अंग्रेज़ी नाम ("German") या भाषा का अपना नाम ("Deutsch")। प्रतिक्रिया बताती है कि वह किस कोड पर पहुँची, और अगर आप हर contact के लिए भाषा रख रहे हैं तो वही रूप संग्रहीत करें।
htmlstring- HTML बॉडी, अधिकतम एक मेगाबाइट। html, text या subject में से एक आवश्यक है।
textstring- सादा-पाठ वाला हिस्सा। `html` से स्वतंत्र रूप से अनूदित, अपनी ही लंबाई जाँच के साथ।
subjectstring- विषय पंक्ति: एक string, वह boolean नहीं जो भेजाव पर `translate` के भीतर होता है। दोनों अलग सवाल हैं: वहाँ आप कह रहे हैं कि हमारे पास पहले से मौजूद विषय का अनुवाद करना है या नहीं, यहाँ आप ख़ुद एक विषय सौंप रहे हैं।
fromstring- आपने इसे जिस भाषा में लिखा, उन्हीं तीन रूपों में से किसी एक में। इसे बताने पर पहचान वाली कॉल बच जाती है।
includeOriginalboolean- लौटाया गया `html` अनुवाद के नीचे आपका मूल पाठ पहले से रखता है या नहीं। डिफ़ॉल्ट true।
अनजान कुंजियाँ 422 हैं, जैसा हर जगह है। जिस अनुरोध में html, text या subject में से कोई नहीं है वह html पर 422 है: "One of html, text or subject is required"।
इसका पूर्वावलोकन करें
वही चक्कर जो composer किसी को यह दिखाने से पहले लगाता है कि वह क्या भेजने वाला है।
curl -X POST "$OE/emails/translate" -H "$AUTH" -H "Content-Type: application/json" \ -d '{ "subject": "Your September invoice", "html": "<p>Invoice attached. Payment is due on the 14th.</p>", "to": "de" }'{ "object": "translation", "language": { "code": "de", "label": "German", "native": "Deutsch", "flag": "🇩🇪", "rtl": false }, "detectedSourceLanguage": { "code": "en", "label": "English", "native": "English", "flag": "🇬🇧", "rtl": false }, "subject": "Ihre Rechnung für September", "html": "<p>Rechnung im Anhang. Zahlbar bis zum 14.</p>\n<div style=\"margin:28px 0 0;padding:14px 0 0;border-top:1px solid #d6dae0\">\n<div style=\"margin:0 0 10px;font-size:12px;line-height:1.5;color:#6b7280\">Ursprüngliche Nachricht (English)</div>\n<div><p>Invoice attached. Payment is due on the 14th.</p></div>\n</div>", "text": null, "includeOriginal": true}जो फ़ील्ड आपने नहीं भेजा उसके लिए html, text और subject अनुपस्थित रहने के बजाय null लौटते हैं, ताकि क्लाइंट यह याद रखे बिना उत्तर रेंडर कर सके कि उसने क्या माँगा था।
जब पहचान चुप रह जाती है तो detectedSourceLanguage null होता है। यह एक असली उत्तर है, विफलता नहीं। नामों, संख्याओं और लिंक वाली बॉडी में पढ़ने को कुछ नहीं होता, और इसका एकमात्र परिणाम यह है कि आपके मूल पाठ का कैप्शन बिना भाषा के रहता है।
includeOriginal इसलिए वापस लौटाया जाता है क्योंकि यह बदलता है कि html में क्या है। इसके चालू रहने पर बॉडी अनुवाद के नीचे आपका मूल पाठ पहले से रखती है, और अपनी प्रति जोड़ने पर वह दो बार चली जाती है।
पूर्वावलोकन, संपादन, भेजाव
यह जिस आकार के लिए बना है वह है पूर्वावलोकन, संपादन, भेजाव: किसी व्यक्ति को अनुवाद दिखाएँ, उसे बदलने दें, फिर जो उसने स्वीकृत किया उसे साधारण html और subject के रूप में भेजें, अनुरोध पर translate बिल्कुल न रखते हुए। तब जो उसने स्वीकृत किया, शब्द-दर-शब्द वही बाहर जाता है।
curl -X POST "$OE/emails" -H "$AUTH" -H "Content-Type: application/json" \ -d '{ "from": "[email protected]", "to": ["[email protected]"], "subject": "Ihre Rechnung für September", "html": "<p>Rechnung im Anhang. Zahlbar bis zum 14.</p>" }'पूर्वावलोकन के बाद translate के साथ भेजने पर दूसरी बार अनुवाद होता है और संपादन फेंक दिए जाते हैं। तब भेजाव ऐसी शब्दावली में जाता जिसे किसी ने पढ़ा ही नहीं, और यही वह एकमात्र विफलता है जिसे रोकने के लिए पूर्वावलोकन मौजूद है।
इसकी लागत क्या है, और यह क्या नहीं करता
- तीन मॉडल कॉल (बॉडी, विषय, और एक यह पता लगाने के लिए कि आपने किस भाषा में लिखा) एक साथ जारी होती हैं, इसलिए प्रतीक्षा तीनों के योग के बजाय उनमें सबसे लंबी वाली के बराबर होती है।
fromबताने पर तीसरी हट जाती है। यहtranslateके साथ भेजने जितना ही महँगा है, इसलिए हर संशोधन पर नहीं, एक बार पूर्वावलोकन करें। - कुछ भी नहीं भेजा जाता, कोई पंक्ति नहीं लिखी जाती, और कोई id वापस नहीं आती। यहाँ बाद में रद्द करने या प्राप्त करने को कुछ है ही नहीं।
- यह अनुवाद करता है और इसके अलावा कुछ नहीं। यह प्रूफ़रीडिंग नहीं करता, लेखन को बेहतर नहीं बनाता, और संदेश का उत्तर कभी नहीं देता।
- नाम, कंपनियाँ, लिंक, ऑर्डर नंबर, क़ीमतें और तारीख़ें वैसी ही लौटती हैं जैसी गई थीं, ताकि अनुवाद को मूल के साथ पंक्ति-दर-पंक्ति मिलाया जा सके।
- पढ़ने वाले आधे हिस्से के विपरीत, उद्धृत इतिहास हटाया नहीं जाता। आप जो सौंपते हैं उसी का अनुवाद होता है, जो composer के लिए सही है, जहाँ बॉडी केवल वही है जो किसी ने अभी लिखा — और अगर आप पूरी उत्तर-श्रृंखला भेजते हैं तो यह जानना ज़रूरी है।
emails:sendके दायरे में, अपने किसी scope के बिना: यह ऐसा कुछ नहीं देता जो भेजने वाला पहले से न कर सकता हो, और ऐसा scope जिसे सहमति स्क्रीन पर कोईemails:sendसे अलग न बता सके, उस सूची के बाकी हर scope का अर्थ थोड़ा कम कर देता है।
बॉडी की सीमा वही एक मेगाबाइट है जो भेजाव देता है, लेकिन अनुवाद स्वयं 30,000 अक्षरों से ऊपर कुछ भी translation_too_long के साथ अस्वीकार कर देता है। विफलता कोड वही हैं जो अनूदित भेजाव लौटाता है, और वे ईमेल भेजें के नीचे सूचीबद्ध हैं।