لا تتضمن الوظيفة القياسية لبرنامج LibreOffice Calcc وظائف لترجمة النص إلى لغات أخرى. ومع ذلك، يمكن لأي مستخدم إنشاء مثل هذه الوظيفة بشكل مستقل.
في هذه المقالة، سنلقي نظرة على الوظيفة المخصصة GoogleTranslate_YouLibreCalc()، والتي ستسمح لك بترجمة النص مباشرة في خلية في أي ورقة عمل.
بالنسبة لترجمة النصوص، تستخدم الوظيفة موقع "ترجمة Google" ويمكن استخدامها في أي صيغ بشكل مستقل أو مع وظائف قياسية أخرى.
لإضافة وظيفة الترجمة من 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 ' نقوم بتنفيذ استدعاء API لخادم الويب باستخدام طلب AJAX Set XMLHTTP = CreateObject("MSXML2.ServerXMLHTTP") XMLHTTP.Open "GET", WebsiteURL, False XMLHTTP.Send ' نقوم بإنشاء مستند HTML باستخدام نص الاستجابة لطلب AJAX Set oHTML = CreateObject("HTMLFile") With oHTML .Open .Write XMLHTTP.responseText .Close End With ' نقوم بتحويل نص HTML إلى نموذج كائن باستخدام مكتبة عناصر الويب Microsoft HTML Object Library 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 Calcc، وحدد أي خلية واستخدم وظيفة GoogleTranslate_YouLibreCalc() الجديدة.
يمكنك أيضًا استخدام الدالة GOOGLETRANSLATE() عن طريق تعيين الامتداد " YouLibreCalc.oxt ". بعد ذلك، ستكون هذه الوظيفة متاحة في جميع الملفات التي سيتم فتحها في LibreOffice Calc.