Tham khảo một số thuật toán chuyển đổi ngôn ngữ, mình cảm thấy đoạn code này ngắn nhất và có thể giúp ích cho các bạn làm việc cho các công ty đa dạng về "quốc tịch", báo cáo cần chuyển đổi qua nhiều loại ngôn ngữ khác nhau.
Mình gửi kèm code và file ví dụ ứng dụng đoạn code này. Mong giúp ích gì đó cho các bạn.
(P/s: Hàm này cần có kết nối internet để hoạt động nhé).
Mình gửi kèm code và file ví dụ ứng dụng đoạn code này. Mong giúp ích gì đó cho các bạn.
(P/s: Hàm này cần có kết nối internet để hoạt động nhé).
Python:
'***Google Translation Custom Function ***
'Source ref.: https://stackoverflow.com/a/65417789
'================================================================================
'Email: cadafi@live.com | +84 903 73 73 93 for further discussion on Financial analysis.
'================================================================================
'Google Language Codes List:
'Auto Detect = 0 | Bulgarian = bg | Finnish = fi | Hungarian = hu | Latvian = lv | Russian = ru | Turkish = tr
'English = en | Catalan = ca | French = fr | Icelandic = is | Lithuanian = lt | Serbian = sr | Ukrainian = uk
'Afrikaans = af | Chinese = zh | Galician = gl | Indonesian = id | Macedonian = mk | Slovak = sk | Urdu = ur
'Albanian = sq | Croatian = hr | Georgian = ka | Irish = ga | Malay = ms | Slovenian = sl | Vietnamese = vi
'Arabic = ar | Czech = cs | German = de | Italian = it | Maltese = mt | Spanish = es | Welsh = cy
'Armenian = hy | Danish = da | Greek = el | Japanese = ja | Norwegian = no | Swahili = sw | Yiddish = yi
'Azerbaijani = az | Dutch = nl | Gujarati = gu | Kannada = kn | Persian = fa | Swedish = sv
'Basque = eu | Esperanto = eo | Haitian_Creole = ht | Korean = ko | Polish = pl | Tamil = ta
'Belarusian = be | Estonian = et | Hebrew = iw | Lao = lo | Portuguese = pt-PT | Telugu = te
'Bengali = bn | Filipino = tl | Hindi = hi | Latin = la | Romanian = ro | Thai = th
'================================================================================
'Example Syntax:
'=Translate(A1, "vi", "en") '<--translates text in A1 from Vietnamese to English.
'================================================================================
Function Translate$(sText$, FromLang$, ToLang$)
Dim p1&, p2&, url$, resp$
Const DIV_RESULT$ = "<div class=""result-container"">"
Const URL_TEMPLATE$ = "https://translate.google.com/m?hl=[from]&sl=[from]&tl=[to]&ie=UTF-8&prev=_m&q="
'----------------------------------------------------------------------------------------------------------------------------------------
url = URL_TEMPLATE & WorksheetFunction.EncodeURL(sText)
url = Replace(url, "[to]", ToLang)
url = Replace(url, "[from]", FromLang)
resp = WorksheetFunction.WebService(url)
p1 = InStr(resp, DIV_RESULT)
'----------------------------------------------------------------------------------------------------------------------------------------
If p1 Then
p1 = p1 + Len(DIV_RESULT)
p2 = InStr(p1, resp, "</div>")
Translate = Mid$(resp, p1, p2 - p1)
End If
'----------------------------------------------------------------------------------------------------------------------------------------
End Function