TOP

ترجمة جوجل في LibreOffice Cac

وصف

لا تتضمن الوظيفة القياسية لبرنامج LibreOffice Calcc وظائف لترجمة النص إلى لغات أخرى. ومع ذلك، يمكن لأي مستخدم إنشاء مثل هذه الوظيفة بشكل مستقل.

في هذه المقالة، سنلقي نظرة على الوظيفة المخصصة GoogleTranslate_YouLibreCalc()، والتي ستسمح لك بترجمة النص مباشرة في خلية في أي ورقة عمل.

تستخدم الوظيفة الموقع لترجمة النص "جوجل المترجم" ويمكن استخدامها في أي صيغ بشكل مستقل ومع وظائف قياسية أخرى.



StarBASIC رمز الوظيفة Google Translate

لإضافة الدالة Google Translate ، افتح القائمة Tools - Macros - Edit Macros... ، يختار Module1 وانسخ النص التالي إلى الوحدة:

  1. Option VBASupport 1  
  2.   
  3. Function GoogleTranslate_YouLibreCalc(TextToTranslate As String, SrcLang As String, TrgLang As String)  
  4.   ' moonexcel.com.ua   
  5.   Dim FCalc      As Object  
  6.   Dim WebsiteURL As String    
  7.   Dim XMLHTTP    As Object  
  8.   Dim oHTML      As Object  
  9.   Dim HTMLDoc    As HTMLDocument  
  10.   Dim ObjClass   As Object  
  11.       
  12.   FCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess")   
  13.   TextToTranslate =  FCalc.callFunction("ENCODEURL", Array(TextToTranslate))  
  14.     
  15.   SrcLang = LCase(SrcLang)  
  16.   TrgLang = LCase(TrgLang)  
  17.     
  18.   IF SrcLang = "zh-cn" Then SrcLang = "zh-CN"  
  19.   IF SrcLang = "zh-tw" Then SrcLang = "zh-TW"  
  20.     
  21.   IF TrgLang = "zh-cn" Then TrgLang = "zh-CN"  
  22.   IF TrgLang = "zh-tw" Then TrgLang = "zh-TW"   
  23.       
  24.   WebsiteURL = "https://translate.google.com/m?sl=" + SrcLang + "&tl=" + TrgLang + "&hl=en&q=" + TextToTranslate  
  25.       
  26.   ' نقوم بتنفيذ استدعاء API لخادم الويب باستخدام طلب AJAX   
  27.   Set XMLHTTP = CreateObject("MSXML2.ServerXMLHTTP")  
  28.    
  29.   XMLHTTP.Open "GET", WebsiteURL, False    
  30.   XMLHTTP.Send  
  31.    
  32.   ' نقوم بإنشاء مستند HTML باستخدام نص الاستجابة لطلب AJAX   
  33.   Set oHTML = CreateObject("HTMLFile")  
  34.   With oHTML  
  35.         .Open  
  36.         .Write XMLHTTP.responseText  
  37.         .Close  
  38.   End With  
  39.     
  40.   ' نقوم بتحويل نص HTML إلى نموذج كائن باستخدام مكتبة عناصر الويب Microsoft HTML Object Library   
  41.   Set HTMLDoc = oHTML    
  42.     
  43.   Set ObjClass = HTMLDoc.getElementsByClassName("result-container").Item(0)  
  44.   If Not ObjClass Is Nothing Then  
  45.     GoogleTranslate_YouLibreCalc = ObjClass.innerText      
  46.   End If   
  47.    
  48.   ' نحن نحرر الذاكرة   
  49.   Set ObjClass = Nothing  
  50.   Set oHTML    = Nothing  
  51.   Set XMLHTTP  = Nothing    
  52. End Function  

التالي، إغلاق Macro Editor والعودة إلى ورقة العمل LibreOffice Cac ، حدد أي خلية واستخدم ميزتنا الجديدة GoogleTranslate_YouLibreCalc() .

باستخدام التمديد

بعد ذلك ستكون هذه الوظيفة متاحة في كافة الملفات التي سيتم فتحها في LibreOffice Calc.