Я сделал автоматический переводчик c plist, чтобы сгенерировать новый plist. Visual Basi c 2008
Private Sub Form1_Load (ByVal sender As System.Object, ByVal e As System.EventArgs) Обрабатывает MyBase.Load Dim fileReader, substring, target, out As String Dim bcount, bcount_2 As Integer
fileReader = My.Computer.FileSystem.ReadAllText("C:\Users\jafernandez.SVQRS\Desktop\JsonDataSP.plist")
For a = 1 To Len(fileReader)
out = out & Mid(fileReader, a, 1)
If Mid(fileReader, a, 8) = "<string>" Then
'es una string, traducir string
bcount = a
Do While Mid(fileReader, bcount, 9) <> "</string>"
substring = substring & Mid(fileReader, bcount + 8, 1)
bcount = bcount + 1
Loop
substring = Mid(substring, 1, Len(substring) - 8)
substring = "string>" & Translate(substring, "en", "es", False) & "</string>"
out = out & substring
' Tenemos en out la salida con la cadena traducida, ahora posicionamos puntero
a = a + ((bcount - a) + 8)
substring = ""
End If
Next
'MsgBox(fileReader)
My.Computer.FileSystem.WriteAllText("C:\Users\jafernandez.SVQRS\Desktop\JsonDataSP.plist_tra", out, True)
End Sub
Public Function Translate(ByVal strInput As String, ByVal strFromLanguageCode As String, ByVal strToLanguageCode As String, ByVal blnTargetAlphabet As Boolean) As String
Dim strURL, att As String
Dim objHTTP As Object
Dim objHTML As Object
Dim objDivs As Object, objDiv
Dim strTranslatedT0 As String
Dim strTranslatedO1 As String
' send query to web page
strURL = "https://translate.google.com/m?hl=" & strFromLanguageCode & _
"&sl=" & strFromLanguageCode & _
"&tl=" & strToLanguageCode & _
"&ie=UTF-8&prev=_m&q=" & strInput
objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
objHTTP.Open("GET", strURL, False)
objHTTP.setRequestHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)")
objHTTP.send("")
' create a html document
objHTML = CreateObject("htmlfile")
With objHTML
.Open()
.Write(objHTTP.responseText)
'.getElementsByTagName("div")
.Close()
End With
' o1 has Anglicised translation, t0 as tranlsation in target language
objDivs = objHTML.getElementsByTagName("div")
For Each objDiv In objDivs
'att = objDiv.getAttribute("charset")
If objDiv.className = "t0" Then
strTranslatedT0 = objDiv.innerText
End If
Next objDiv
''For Each objDiv In objDivs
''If objDiv.className = "o1" Then
'' strTranslatedO1 = objDiv.innerText
''End If
''If objDiv.className = "t0" Then
'' strTranslatedT0 = objDiv.innerText
''End If
''Next objDiv
' choose which to return
''If blnTargetAlphabet Then
Translate = strTranslatedT0
''Else
''Translate = strTranslatedO1
''End If
Очистка: obj HTML = Ничего objHTTP = Ничего
End Function