TOP
ترجمة جوجل في LibreOffice Cac
وصف
لا تتضمن الوظيفة القياسية لبرنامج LibreOffice Calcc وظائف لترجمة النص إلى لغات أخرى. ومع ذلك، يمكن لأي مستخدم إنشاء مثل هذه الوظيفة بشكل مستقل.
في هذه المقالة، سنلقي نظرة على الوظيفة المخصصة GoogleTranslate_YouLibreCalc()، والتي ستسمح لك بترجمة النص مباشرة في خلية في أي ورقة عمل.
تستخدم الوظيفة الموقع لترجمة النص "جوجل المترجم" ويمكن استخدامها في أي صيغ بشكل مستقل ومع وظائف قياسية أخرى.
StarBASIC رمز الوظيفة Google Translate
لإضافة الدالة Google Translate ، افتح القائمة Tools - Macros - Edit Macros... ، يختار Module1 وانسخ النص التالي إلى الوحدة:
- Option VBASupport 1
-
- Function GoogleTranslate_YouLibreCalc(TextToTranslate As String, SrcLang As String, TrgLang As String)
-
- 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
-
-
- Set XMLHTTP = CreateObject("MSXML2.ServerXMLHTTP")
-
- XMLHTTP.Open "GET", WebsiteURL, False
- XMLHTTP.Send
-
-
- Set oHTML = CreateObject("HTMLFile")
- With oHTML
- .Open
- .Write XMLHTTP.responseText
- .Close
- End With
-
-
- 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
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 Cac ، حدد أي خلية واستخدم ميزتنا الجديدة GoogleTranslate_YouLibreCalc() .
باستخدام التمديد
يمكنك أيضًا استخدام الدالة GOOGLETRANSLATE() عن طريق تثبيت الامتداد المجاني YouLibreCalc.oxt أو نسخته كاملة المواصفات YLC_Utilities.oxt .
بعد ذلك ستكون هذه الوظيفة متاحة في كافة الملفات التي سيتم فتحها في LibreOffice Calc.