Doctranslate.io

PDF अनुवाद API: अंग्रेज़ी से इतालवी | लेआउट को बरकरार रखें

Diterbitkan oleh

pada

प्रोग्रामेटिक PDF अनुवाद एक बड़ी चुनौती क्यों है

दस्तावेज़ वर्कफ़्लो को स्वचालित करने के लिए अक्सर स्थानीयकरण और अनुवाद के लिए एक मजबूत समाधान की आवश्यकता होती है। अंग्रेज़ी से इतालवी रूपांतरण के लिए एक PDF अनुवाद API को एकीकृत करने से अद्वितीय कठिनाइयाँ आती हैं जिन पर डेवलपर्स को काबू पाना चाहिए।
साधारण पाठ फ़ाइलों के विपरीत, PDF प्रारूप स्वाभाविक रूप से जटिल है, जिसे आसान संपादन के बजाय प्रस्तुति के लिए डिज़ाइन किया गया है, जो प्रोग्रामेटिक हेरफेर को एक महत्वपूर्ण इंजीनियरिंग चुनौती बनाता है।

यह जटिलता PDF की प्रकृति से उत्पन्न होती है जो एक वेक्टर ग्राफ़िक्स प्रारूप है जो वर्णों, छवियों और अन्य तत्वों को एक पृष्ठ पर ठीक से रखता है। पाठ एक रैखिक, आसानी से पार्स होने वाली स्ट्रीम में संग्रहीत नहीं होता है, जो निष्कर्षण और प्रतिस्थापन को जटिल बनाता है।
इसके अलावा, फ़ाइल संरचना में परतें, एम्बेडेड फ़ॉन्ट और जटिल ऑब्जेक्ट शामिल हो सकते हैं, जिनमें से सभी को दस्तावेज़ को दूषित होने या अनुवाद के दौरान महत्वपूर्ण जानकारी खोने से बचने के लिए सही ढंग से संभाला जाना चाहिए।

लेआउट संरक्षण की बाधा

सबसे महत्वपूर्ण चुनौतियों में से एक मूल दस्तावेज़ के लेआउट और स्वरूपण को बनाए रखना है। PDFs में अक्सर बहु-स्तंभ पाठ, जटिल तालिकाएँ, हेडर, फुटर और रणनीतिक रूप से रखी गई छवियाँ होती हैं।
एक भोली अनुवाद प्रक्रिया जो केवल पाठ निकालती और प्रतिस्थापित करती है, लगभग निश्चित रूप से इस संरचना को तोड़ देगी, जिसके परिणामस्वरूप एक अपठनीय और गैर-पेशेवर दिखने वाला दस्तावेज़ बनेगा जो अपने उद्देश्य को पूरा करने में विफल रहता है।

एक तकनीकी मैनुअल या एक वित्तीय रिपोर्ट पर विचार करें जहाँ डेटा तालिकाएँ और आरेख समझने के लिए महत्वपूर्ण हैं। यदि अनुवाद प्रक्रिया स्तंभों को स्थानांतरित करती है, पंक्तियों को गलत संरेखित करती है, या ग्राफ़िकल तत्वों को अधिलेखित करती है, तो दस्तावेज़ की अखंडता खतरे में पड़ जाती है।
अनुवाद के बाद इस लेआउट को मैन्युअल रूप से पुनर्निर्माण करना अक्षम है और स्वचालन के उद्देश्य को विफल करता है, जो एक ऐसे API की आवश्यकता को उजागर करता है जो PDF के भीतर स्थानिक संबंधों को समझता है और संरक्षित करता है।

पाठ निष्कर्षण और एन्कोडिंग समस्याएँ

PDF से सभी अनुवाद योग्य पाठ को सफलतापूर्वक निकालना कोई तुच्छ कार्य नहीं है। पाठ को विभिन्न तरीकों से संग्रहीत किया जा सकता है, कभी-कभी एक छवि के हिस्से के रूप में या गैर-मानक वर्ण एन्कोडिंग के साथ।
लिगचर, जहाँ दो या दो से अधिक अक्षर एक ही ग्लिफ़ में जुड़ जाते हैं, निष्कर्षण एल्गोरिदम के लिए भी समस्याएँ पैदा कर सकते हैं यदि उन्हें ठीक से नहीं संभाला जाता है, जिससे अनुवाद इंजन को अस्पष्ट या अधूरा पाठ भेजा जाता है।

इसके अलावा, वर्ण एन्कोडिंग को त्रुटिहीन रूप से प्रबंधित किया जाना चाहिए, खासकर जब अंग्रेज़ी और इतालवी जैसी कई भाषाओं से निपट रहे हों। इतालवी में उच्चारण वाले वर्ण (उदाहरण के लिए, è, à, ò) शामिल हैं जिन्हें mojibake या डेटा हानि को रोकने के लिए, आमतौर पर UTF-8 का उपयोग करके, सही ढंग से एन्कोड किया जाना चाहिए।
एक API को स्रोत एन्कोडिंग का पता लगाने, पाठ को संसाधित करने और फिर उसके विशिष्ट वर्णों के साथ अनुवादित पाठ को PDF संरचना में वापस सही ढंग से एम्बेड करने के लिए पर्याप्त परिष्कृत होना चाहिए।

दृश्य और गैर-पाठ तत्वों को संभालना

आधुनिक PDFs शायद ही कभी सिर्फ पाठ होते हैं; वे चार्ट, ग्राफ़, आरेख और छवियों वाले समृद्ध मीडिया दस्तावेज़ होते हैं। अक्सर, इन दृश्य तत्वों में एम्बेडेड पाठ होता है जिसके लिए भी अनुवाद की आवश्यकता होती है, जैसे कि चार्ट पर लेबल या आरेख पर कॉलआउट।
एक बुनियादी API इन तत्वों को पूरी तरह से अनदेखा कर सकता है, जिससे दस्तावेज़ के कुछ हिस्से बिना अनुवादित रह जाते हैं और अंतिम उपयोगकर्ता के लिए एक भ्रमित करने वाला अनुभव बनता है।

आदर्श अनुवाद API में PDF के भीतर छवियों से पाठ की पहचान करने और निकालने के लिए ऑप्टिकल कैरेक्टर रिकग्निशन (OCR) के समान क्षमताएं होनी चाहिए। फिर इसे इस पाठ का अनुवाद करने की आवश्यकता होती है और, यदि संभव हो, तो मूल दृश्य शैली को बनाए रखते हुए अनुवादित पाठ के साथ छवि का पुनर्निर्माण करना होता है।
यह प्रक्रिया गणनात्मक रूप से गहन है और यह सुनिश्चित करने के लिए उन्नत एल्गोरिदम की आवश्यकता है कि अंतिम दस्तावेज़ पूरी तरह से अनुवादित और नेत्रहीन सुसंगत दोनों हो, एक ऐसी विशेषता जो मानक APIs से विशिष्ट APIs को अलग करती है।

पेश है Doctranslate PDF अनुवाद API: अंग्रेज़ी से इतालवी

इन महत्वपूर्ण बाधाओं को दूर करने के लिए, डेवलपर्स को विशेष रूप से उच्च-निष्ठा दस्तावेज़ अनुवाद के लिए डिज़ाइन किए गए एक विशेष उपकरण की आवश्यकता होती है। Doctranslate API उल्लेखनीय सटीकता के साथ PDF दस्तावेज़ों को अंग्रेज़ी से इतालवी में परिवर्तित करने के लिए एक व्यापक समाधान प्रदान करता है।
हमारा API PDF प्रारूप की जटिलताओं को संभालने के लिए इंजीनियर किया गया है, यह सुनिश्चित करते हुए कि आपकी अनुवादित फ़ाइलें न केवल भाषाई रूप से सटीक हैं, बल्कि स्रोत दस्तावेज़ों के दृश्य रूप से समान भी हैं।

यह शक्तिशाली उपकरण आपकी विकास टीम से जटिल फ़ाइल संरचनाओं को पार्स करने, लेआउट प्रबंधित करने और वर्ण एन्कोडिंग को संभालने के बोझ को हटाता है। उन डेवलपर्स के लिए जिन्हें मूल लेआउट और तालिकाओं को संरक्षित करते हुए PDF फ़ाइलों का अनुवाद करने की आवश्यकता है, हमारा API एक अद्वितीय, स्वचालित समाधान प्रदान करता है।
इन चुनौतियों को अमूर्त करके, हमारी सेवा आपको अपने मुख्य एप्लिकेशन तर्क पर ध्यान केंद्रित करने की अनुमति देती है, जबकि आपके उपयोगकर्ताओं को पूरी तरह से अनुवादित दस्तावेज़ प्रदान करती है, भाषाओं में व्यावसायिकता और ब्रांड स्थिरता बनाए रखती है।

एक शक्तिशाली RESTful आर्किटेक्चर पर निर्मित

Doctranslate API को एक REST API के रूप में बनाया गया है, जिससे किसी भी आधुनिक एप्लिकेशन स्टैक में एकीकरण अविश्वसनीय रूप से सीधा हो जाता है। यह आसान कार्यान्वयन और डीबगिंग के लिए मानक HTTP विधियों, अनुमानित URL और स्पष्ट स्थिति कोड का उपयोग करता है।
डेवलपर्स किसी भी प्रोग्रामिंग भाषा या प्लेटफॉर्म का उपयोग करके API के साथ इंटरैक्ट कर सकते हैं जो HTTP अनुरोध कर सकते हैं, पायथन या Node.js में लिखे गए बैकएंड सेवाओं से लेकर फ्रंटएंड वेब अनुप्रयोगों तक।

प्रतिक्रियाएं एक संरचित प्रारूप में वितरित की जाती हैं, और दस्तावेज़ अनुवाद के लिए, API सीधे अनुवादित फ़ाइल वापस करता है। यह वर्कफ़्लो को सरल बनाता है, क्योंकि आपको अंतिम दस्तावेज़ का पुनर्निर्माण करने के लिए जटिल JSON ऑब्जेक्ट्स को पार्स करने की आवश्यकता नहीं होती है।
API को शक्ति का त्याग किए बिना उपयोग में आसानी के लिए डिज़ाइन किया गया है, जो जटिल दस्तावेज़ प्रसंस्करण कार्यों के लिए एक सरल लेकिन मजबूत इंटरफ़ेस प्रदान करता है और प्रमाणीकरण से लेकर अंतिम आउटपुट तक एक सहज डेवलपर अनुभव सुनिश्चित करता है।

डेवलपर्स के लिए मुख्य विशेषताएं

Doctranslate API का प्राथमिक लाभ इसकी अद्वितीय लेआउट संरक्षण तकनीक है। हमारा इंजन सभी तत्वों के बीच स्थानिक संबंधों को समझने के लिए स्रोत PDF का विश्लेषण करता है, यह सुनिश्चित करता है कि अनुवादित दस्तावेज़ मूल का एक आदर्श दर्पण है।
इसके अतिरिक्त, हमारे अनुवाद मॉडल गति और सटीकता दोनों के लिए अत्यधिक अनुकूलित हैं, गुणवत्ता से समझौता किए बिना त्वरित टर्नअराउंड प्रदान करते हैं, जो वास्तविक समय दस्तावेज़ प्रसंस्करण की आवश्यकता वाले अनुप्रयोगों के लिए आवश्यक है।

स्केलेबिलिटी एक अन्य प्रमुख विशेषता है, क्योंकि हमारा बुनियादी ढाँचा एकल-पृष्ठ चालान से लेकर हज़ार-पृष्ठ तकनीकी मैनुअल तक, बड़ी मात्रा में अनुरोधों को संभालने के लिए बनाया गया है। API PDF से परे बड़ी संख्या में भाषा जोड़े और फ़ाइल स्वरूपों की एक विस्तृत श्रृंखला का भी समर्थन करता है।
यह लचीलापन इसे आपकी सभी दस्तावेज़ अनुवाद आवश्यकताओं के लिए वन-स्टॉप समाधान बनाता है, जो एक सुसंगत और विश्वसनीय सेवा प्रदान करता है क्योंकि आपका एप्लिकेशन बढ़ता है और आपकी स्थानीयकरण आवश्यकताएं नए बाजारों में विस्तारित होती हैं।

चरण-दर-चरण मार्गदर्शिका: PDF अनुवाद API को एकीकृत करना

Doctranslate API को अपने प्रोजेक्ट में एकीकृत करना एक सरल प्रक्रिया है। यह मार्गदर्शिका आपको PDF दस्तावेज़ों को अंग्रेज़ी से इतालवी में प्रोग्रामेटिक रूप से अनुवाद करना शुरू करने के लिए आवश्यक चरणों के बारे में बताएगी।
हम आपके API कुंजी को प्राप्त करने, अनुरोध को संरचित करने, अनुवाद के लिए दस्तावेज़ भेजने और प्रतिक्रिया को संभालने को कवर करेंगे, जिसमें पायथन में एक व्यावहारिक कोड उदाहरण भी शामिल है।

चरण 1: अपनी API कुंजी प्राप्त करें

कोई भी API कॉल करने से पहले, आपको एक अद्वितीय API कुंजी के साथ अपने अनुरोधों को प्रमाणित करना होगा। अपनी कुंजी प्राप्त करने के लिए, आपको पहले Doctranslate प्लेटफ़ॉर्म पर एक खाते के लिए साइन अप करना होगा।
एक बार पंजीकृत होने के बाद, अपने खाता डैशबोर्ड में API अनुभाग पर नेविगेट करें, जहाँ आपको अपनी कुंजी मिलेगी। इस कुंजी को सुरक्षित और निजी रखना सुनिश्चित करें, क्योंकि यह आपके खाते से जुड़े सभी अनुरोधों को प्रमाणित करता है।

चरण 2: अपने API अनुरोध की तैयारी

किसी दस्तावेज़ का अनुवाद करने के लिए, आप `/v3/translate-document` एंडपॉइंट पर एक POST अनुरोध करेंगे। यह अनुरोध `multipart/form-data` के रूप में भेजा जाना चाहिए, जो फ़ाइल अपलोड के लिए मानक है।
आपके अनुरोध को आपकी API कुंजी युक्त एक `Authorization` हेडर और आवश्यक मापदंडों के साथ एक अनुरोध निकाय की आवश्यकता होगी, जिसमें फ़ाइल स्वयं, स्रोत भाषा और लक्ष्य भाषा शामिल है।

अनुरोध निकाय के लिए मुख्य पैरामीटर हैं:

  • file: PDF दस्तावेज़ जिसका आप अनुवाद करना चाहते हैं, एक फ़ाइल ऑब्जेक्ट के रूप में भेजा गया है।
  • source_lang: मूल दस्तावेज़ की भाषा, जो अंग्रेज़ी के लिए ‘en’ है।
  • target_lang: वह भाषा जिसमें आप दस्तावेज़ का अनुवाद करना चाहते हैं, जो इतालवी के लिए ‘it’ है।
  • bilingual: एक वैकल्पिक बूलियन पैरामीटर (true या false) बगल-बगल द्विभाषी दस्तावेज़ उत्पन्न करने के लिए।

ये पैरामीटर आपके अनुवाद अनुरोध को सटीक रूप से संसाधित करने के लिए API को सभी आवश्यक जानकारी प्रदान करते हैं।

चरण 3: अनुवाद निष्पादित करना (पायथन उदाहरण)

यहां लोकप्रिय `requests` लाइब्रेरी के साथ पायथन का उपयोग करके अनुवाद के लिए PDF भेजने का एक व्यावहारिक उदाहरण दिया गया है। यह स्क्रिप्ट एक स्थानीय PDF फ़ाइल खोलती है, आवश्यक हेडर और डेटा सेट करती है, और इसे Doctranslate API पर भेजती है।
यह तब एक सफल प्रतिक्रिया की जाँच करता है और API द्वारा लौटाए गए अनुवादित दस्तावेज़ को एक नई फ़ाइल में सहेजता है, जो एक पूर्ण एंड-टू-एंड वर्कफ़्लो को प्रदर्शित करता है।


import requests

# Your unique API key from the Doctranslate dashboard
API_KEY = 'YOUR_API_KEY_HERE'

# The API endpoint for document translation
API_URL = 'https://developer.doctranslate.io/v3/translate-document'

# Path to the source document and where to save the translated file
SOURCE_FILE_PATH = 'document-en.pdf'
TRANSLATED_FILE_PATH = 'document-it.pdf'

# Set up the headers with your API key for authentication
headers = {
    'Authorization': f'Bearer {API_KEY}'
}

# Define the parameters for the translation request
data = {
    'source_lang': 'en',
    'target_lang': 'it',
    'bilingual': 'false' # Set to 'true' for a side-by-side document
}

# Open the source file in binary read mode
with open(SOURCE_FILE_PATH, 'rb') as f:
    files = {
        'file': (SOURCE_FILE_PATH, f, 'application/pdf')
    }

    # Make the POST request to the API
    print(f"Uploading {SOURCE_FILE_PATH} for translation to Italian...")
    response = requests.post(API_URL, headers=headers, data=data, files=files)

    # Check if the request was successful
    if response.status_code == 200:
        # Save the returned file content to a new file
        with open(TRANSLATED_FILE_PATH, 'wb') as translated_file:
            translated_file.write(response.content)
        print(f"Success! Translated document saved to {TRANSLATED_FILE_PATH}")
    else:
        # Print an error message if something went wrong
        print(f"Error: {response.status_code}")
        print(f"Response: {response.text}")

चरण 4: API प्रतिक्रिया को संभालना

एक सफल अनुवाद पर, Doctranslate API `200 OK` के HTTP स्थिति कोड के साथ प्रतिक्रिया देगा। इस प्रतिक्रिया के मुख्य भाग में अनुवादित PDF दस्तावेज़ का बाइनरी डेटा होगा।
आपका कोड इस बाइनरी स्ट्रीम को संभालने और इसे सीधे एक नई फ़ाइल में लिखने के लिए तैयार होना चाहिए, जैसा कि ऊपर दिए गए पायथन उदाहरण में दिखाया गया है। यह प्रत्यक्ष फ़ाइल प्रतिक्रिया एकीकरण प्रक्रिया को महत्वपूर्ण रूप से सरल बनाती है।

त्रुटि के मामले में, API एक अलग स्थिति कोड लौटाएगा (उदाहरण के लिए, खराब अनुरोध के लिए `400`, अनधिकृत के लिए `401`, या सर्वर त्रुटि के लिए `500`)। प्रतिक्रिया निकाय में त्रुटि के विवरण के साथ एक JSON ऑब्जेक्ट होगा।
इन परिदृश्यों को शालीनता से प्रबंधित करने के लिए आपके एप्लिकेशन में उचित त्रुटि प्रबंधन लागू करना महत्वपूर्ण है, जैसे कि त्रुटि संदेश को लॉग करके या उपयोगकर्ता को सूचित करके कि अनुवाद पूरा नहीं किया जा सका।

अंग्रेज़ी से इतालवी अनुवाद के लिए मुख्य बातें

जबकि एक शक्तिशाली API तकनीकी लिफ्टिंग को संभालता है, उच्चतम गुणवत्ता वाले आउटपुट को सुनिश्चित करने के लिए डेवलपर्स को अभी भी अंग्रेज़ी और इतालवी के बीच भाषाई बारीकियों के बारे में पता होना चाहिए। मशीन अनुवाद ने अविश्वसनीय प्रगति की है, लेकिन संदर्भ एक प्रमुख चुनौती बना हुआ है।
इन अंतरों को समझना आपको बेहतर अनुवाद परिणामों के लिए अपनी सामग्री को संरचित करने में मदद कर सकता है और उस कार्य की जटिलता की सराहना कर सकता है जो API आपकी ओर से कर रहा है।

व्याकरणिक लिंग और लेखों को नेविगेट करना

इतालवी, अन्य रोमांस भाषाओं की तरह, व्याकरणिक लिंग है, जिसका अर्थ है कि सभी संज्ञाएं या तो पुल्लिंग या स्त्रीलिंग हैं। इसका लेखों, विशेषणों और सर्वनामों पर एक व्यापक प्रभाव पड़ता है, जिन्हें संज्ञा के लिंग से सहमत होना चाहिए।
उदाहरण के लिए, अंग्रेज़ी में ‘a big table’ इतालवी में ‘un grande tavolo’ (पुल्लिंग) बन जाता है, लेकिन ‘a big chair’ ‘una grande sedia’ (स्त्रीलिंग) बन जाता है। व्याकरणिक रूप से सही वाक्य बनाने के लिए एक परिष्कृत अनुवाद इंजन को संज्ञाओं के लिंग की सही पहचान करनी चाहिए।

औपचारिक बनाम अनौपचारिक संबोधन (Lei बनाम Tu)

इतालवी में औपचारिक (‘Lei’) और अनौपचारिक (‘tu’) संबोधन के लिए अलग-अलग सर्वनाम हैं, एक भेद जो आधुनिक अंग्रेज़ी से काफी हद तक गायब हो गया है। उनके बीच का चुनाव पूरी तरह से संदर्भ और दर्शकों के साथ संबंध पर निर्भर करता है।
व्यावसायिक दस्तावेज़ों या आधिकारिक संचार के लिए, औपचारिक ‘Lei’ आवश्यक है। सही चुनाव करने और अत्यधिक परिचित या असभ्य लगने से बचने के लिए अनुवाद API को संदर्भ, या Doctranslate की `tone` सेटिंग जैसा एक पैरामीटर, की आवश्यकता होती है।

मुहावरे और सांस्कृतिक बारीकियां

हर भाषा मुहावरों और सांस्कृतिक अभिव्यक्तियों से समृद्ध होती है जिनका शाब्दिक अनुवाद नहीं होता है। ‘it’s raining cats and dogs’ जैसा एक अंग्रेज़ी वाक्यांश इतालवी में ‘piove a catinelle’ (वॉशबेसिन बरस रहे हैं) बन जाता है।
एक साधारण शब्द-दर-शब्द अनुवाद निरर्थक परिणाम देगा। एक उच्च-गुणवत्ता वाली अनुवाद सेवा इन मुहावरों को पहचानने और लक्ष्य भाषा में सही सांस्कृतिक समकक्ष खोजने के लिए विशाल डेटासेट पर प्रशिक्षित उन्नत तंत्रिका नेटवर्क का उपयोग करती है, जिससे मूल अर्थ संरक्षित होता है।

पाठ विस्तार का प्रबंधन

जब अंग्रेज़ी से इतालवी में अनुवाद किया जाता है, तो लक्ष्य पाठ अक्सर 15-25% लंबा होता है। पाठ विस्तार के रूप में जानी जाने वाली इस घटना का दस्तावेज़ लेआउट के लिए महत्वपूर्ण प्रभाव हो सकता है।
जो पाठ अंग्रेज़ी में एक बॉक्स या कॉलम के अंदर बड़े करीने से फिट होता है, वह इतालवी में अनुवाद होने के बाद अतिप्रवाहित हो सकता है। जबकि Doctranslate API को जहां संभव हो फ़ॉन्ट आकार या रिक्ति को समायोजित करके इसे प्रबंधित करने के लिए डिज़ाइन किया गया है, डेवलपर्स को अपने स्रोत दस्तावेज़ों को डिज़ाइन करते समय इस बात का ध्यान रखना चाहिए, विस्तार को समायोजित करने के लिए कुछ श्वेत स्थान छोड़ना चाहिए।

निष्कर्ष: अपने दस्तावेज़ वर्कफ़्लो को सुव्यवस्थित करें

अंग्रेज़ी से इतालवी वर्कफ़्लो के लिए एक PDF अनुवाद API को एकीकृत करना मैनुअल या निम्न-स्तरीय स्वचालित अनुवाद की अत्यधिक चुनौतियों पर काबू पाने के लिए निश्चित समाधान है। यह फ़ाइल पार्सिंग और लेआउट पुनर्निर्माण से संबंधित तकनीकी बोझ को समाप्त करता है।
Doctranslate जैसी सेवा का लाभ उठाकर, डेवलपर्स विकास के अनगिनत घंटों को बचा सकते हैं, जबकि यह सुनिश्चित करते हैं कि उनके अंतिम दस्तावेज़ सटीक, पेशेवर और मूल स्रोत के साथ नेत्रहीन रूप से सुसंगत हैं।

यह शक्तिशाली स्वचालन व्यवसायों को उनके अंतर्राष्ट्रीय संचालन को बढ़ाने, इतालवी-भाषी बाजारों के साथ प्रभावी ढंग से संवाद करने और सभी सामग्रियों में ब्रांड अखंडता बनाए रखने में सक्षम बनाता है। यहां प्रदान की गई चरण-दर-चरण मार्गदर्शिका आपको सफल एकीकरण के लिए एक स्पष्ट मार्ग प्रदान करनी चाहिए।
हम आपको और अधिक उन्नत सुविधाओं की खोज करने और आज ही अपनी दस्तावेज़ स्थानीयकरण प्रक्रिया को बदलना शुरू करने के लिए आधिकारिक API दस्तावेज़ीकरण का पता लगाने के लिए प्रोत्साहित करते हैं।

Doctranslate.io - कई भाषाओं में त्वरित, सटीक अनुवाद

Tinggalkan Komen

chat