(06-05-2023, 19:43)Shell escribió: Entiendo que las opciones que da tradukisto para los idiomas de salida es español común.
(05-05-2023, 19:42)Shell escribió: Me ha funcionado haciéndolo con tu aplicación.
Public Function PoContent(jProj As Collection, sDest As String) As String[]
Dim aText As New String[]
Dim sPotFile As String = jProj["Directory"] &/ ".lang/.pot"
Dim sTimeStampPot As String
Dim sTimeStampPo As String
Dim sVendor As Variant
Dim sVendorEmail As Variant
Dim r As Integer
Dim aTmp As New String[]
Dim sInput As String
Dim sOutput As String
Dim sFrom As String
Dim sKey As String
If Exist(sPotFile) Then
sTimeStampPot = Format(Stat(sPotFile).Time, "yyyy-mm-dd hh:nn") & " UTC"
sTimeStampPo = Format(Now(), "yyyy-mm-dd hh:nn") & " UTC"
If jProj["Vendor"] Then
sVendor = jProj["Vendor"]
Endif
If jProj["Language"] Then
If InStr(jProj["Language"], "_") Then
sFrom = Split(jProj["Language"], "_")[0]
Else
sFrom = jProj["Language"]
Endif
Endif
sKey = sFrom & ":" & sDest
If jProj["Address"] Then
sVendorEmail = jProj["Address"]
Endif
aText.Add("#, fuzzy")
aText.Add("msgid " & Chr(34) & Chr(34))
aText.Add("msgstr " & Chr(34) & Chr(34))
aText.Add(Chr(34) & "Project-Id-Version: " & jProj["Title"] & " " & jProj["Version"] & "\\n" & Chr(34))
aText.Add(Chr(34) & "POT-Creation-Date: " & sTimeStampPot & "\\n" & Chr(34))
aText.Add(Chr(34) & "PO-Revision-Date: " & sTimeStampPo & "\\n" & Chr(34))
aText.Add(Chr(34) & "Last-Translator: " & sVendor & " " & sVendorEmail & "\\n" & Chr(34))
aText.Add(Chr(34) & "Language: " & sDest & "\\n" & Chr(34))
aText.Add(Chr(34) & "MIME-Version: 1.0\\n" & Chr(34))
aText.Add(Chr(34) & "Content-Type: text/plain; charset=UTF-8\\n" & Chr(34))
aText.Add(Chr(34) & "Content-Transfer-Encoding: 8bit\\n" & Chr(34))
aTmp.Clear
aTmp = File.Load2(sPotFile)
For r = 0 To aTmp.Max
If Left(aTmp[r], 3) = "#: " Then
If Left(aTmp[r + 1], 3) = "msg" And Left(aTmp[r + 2], 3) = "msg" Then
aText.Add("")
aText.Add(aTmp[r])
sInput = Replace(String.Mid(aTmp[r + 1], 7), "\"", "")
sOutput = Replace(String.Mid(aTmp[r + 2], 8), "\"", "")
If sOutput = "" Then
If jSource.Exist(sKey) Then
If jSource[sKey].Exist(sInput) Then
If jSource[sKey][sInput] <> "" Then
sOutput = jSource[sKey][sInput]
Endif
Endif
Endif
Endif
aText.Add("msgid \"" & sInput & "\"")
aText.Add("msgstr \"" & sOutput & "\"")
Endif
Endif
Next
Endif
Return aText
End
(08-05-2023, 12:45)tincho escribió: Pero estoy trabajando, de a ratos, en algo mas integrado que también traduce proyectos de gambas y hace algunas cosas mas pero es un proyecto algo extenso así que de momento esta... no beta, lo anterior
(08-05-2023, 14:08)Shell escribió: Si lo revisas o te lo creas a tu gusto te evitarías añadirlo desde código.