LibreOffice calc प्रोग्राम की मानक कार्यक्षमता में पाठ को अन्य भाषाओं में अनुवाद करने के कार्य शामिल नहीं हैं। हालाँकि, कोई भी उपयोगकर्ता स्वतंत्र रूप से ऐसा फ़ंक्शन बना सकता है।
इस लेख में, हम कस्टम फ़ंक्शन GoogleTranslate_YouLibrecalc() को देखेंगे, जो आपको किसी भी वर्कशीट पर सीधे सेल में टेक्स्ट का अनुवाद करने की अनुमति देगा।
पाठ अनुवाद के लिए, फ़ंक्शन "Google Translate" साइट का उपयोग करता है और इसे किसी भी सूत्र में स्वतंत्र रूप से और अन्य मानक कार्यों के साथ उपयोग किया जा सकता है।
Google अनुवाद फ़ंक्शन जोड़ने के लिए, मेनू Tools - Macros - Edit Macros... खोलें, Module1 चुनें और निम्नलिखित पाठ को मॉड्यूल में कॉपी करें:
Option VBASupport 1 Function GoogleTranslate_YouLibreCalc(TextToTranslate As String, SrcLang As String, TrgLang As String) ' moonexcel.com.ua Dim FCalc As Object Dim WebsiteURL As String Dim XMLHTTP As Object Dim oHTML As Object Dim HTMLDoc As HTMLDocument Dim ObjClass As Object FCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess") TextToTranslate = FCalc.callFunction("ENCODEURL", Array(TextToTranslate)) SrcLang = LCase(SrcLang) TrgLang = LCase(TrgLang) IF SrcLang = "zh-cn" Then SrcLang = "zh-CN" IF SrcLang = "zh-tw" Then SrcLang = "zh-TW" IF TrgLang = "zh-cn" Then TrgLang = "zh-CN" IF TrgLang = "zh-tw" Then TrgLang = "zh-TW" WebsiteURL = "https://translate.google.com/m?sl=" + SrcLang + "&tl=" + TrgLang + "&hl=en&q=" + TextToTranslate ' हम AJAX अनुरोध का उपयोग करके वेब सर्वर पर API कॉल निष्पादित करते हैं Set XMLHTTP = CreateObject("MSXML2.ServerXMLHTTP") XMLHTTP.Open "GET", WebsiteURL, False XMLHTTP.Send ' हम AJAX अनुरोध के प्रतिक्रिया पाठ का उपयोग करके एक HTML दस्तावेज़ बनाते हैं Set oHTML = CreateObject("HTMLFile") With oHTML .Open .Write XMLHTTP.responseText .Close End With ' हम वेब तत्वों की लाइब्रेरी का उपयोग करके HTML टेक्स्ट को ऑब्जेक्ट मॉडल में परिवर्तित करते हैं Microsoft HTML Object लाइब्रेरी Set HTMLDoc = oHTML Set ObjClass = HTMLDoc.getElementsByClassName("result-container").Item(0) If Not ObjClass Is Nothing Then GoogleTranslate_YouLibreCalc = ObjClass.innerText End If ' हम स्मृति को मुक्त करते हैं Set ObjClass = Nothing Set oHTML = Nothing Set XMLHTTP = Nothing End Function
इसके बाद, Macro Editor को बंद करें और LibreOffice calc वर्कशीट पर वापस लौटें, किसी भी सेल का चयन करें और हमारे नए GoogleTranslate_YouLibrecalc() फ़ंक्शन का उपयोग करें।
आप एक्सटेंशन सेट करके GOOGLETRANSLATE() फ़ंक्शन का भी उपयोग कर सकते हैं YouLibrecalc.oxt "। उसके बाद, यह फ़ंक्शन उन सभी फ़ाइलों में उपलब्ध होगा जो LibreOffice calc में खोली जाएंगी।