[Winmerge-svn] SF.net SVN: winmerge: [4664] trunk/Src/Languages/UpdatePoFilesFromPotFile. vbs
Windows visual diff and merge for files and directories
Brought to you by:
christianlist,
grimmdp
From: <jt...@us...> - 2007-10-28 11:58:39
|
Revision: 4664 http://winmerge.svn.sourceforge.net/winmerge/?rev=4664&view=rev Author: jtuc Date: 2007-10-28 04:58:37 -0700 (Sun, 28 Oct 2007) Log Message: ----------- Patch #1804762 continued Modified Paths: -------------- trunk/Src/Languages/UpdatePoFilesFromPotFile.vbs Modified: trunk/Src/Languages/UpdatePoFilesFromPotFile.vbs =================================================================== --- trunk/Src/Languages/UpdatePoFilesFromPotFile.vbs 2007-10-28 09:05:57 UTC (rev 4663) +++ trunk/Src/Languages/UpdatePoFilesFromPotFile.vbs 2007-10-28 11:58:37 UTC (rev 4664) @@ -15,7 +15,7 @@ Set oFSO = CreateObject("Scripting.FileSystemObject") bRunFromCmd = False -If (LCase(Right(Wscript.FullName, 11))) = "cscript.exe" Then +If LCase(oFSO.GetFileName(Wscript.FullName)) = "cscript.exe" Then bRunFromCmd = True End If @@ -24,28 +24,27 @@ '' ' ... Sub Main - Dim oLanguages, sLanguage + Dim oLanguages, oLanguage, sLanguage, sDir Dim oEnglishPotContent, oLanguagePoContent Dim StartTime, EndTime, Seconds StartTime = Time - Wscript.Echo "Warning: " & Wscript.ScriptName & " can take several seconds to finish!" + Wscript.Echo "Attention: " & Wscript.ScriptName & " can take several seconds to finish!" - If (bRunFromCmd = True) Then 'If run from command line... - Wscript.Echo "English" - End If - Set oEnglishPotContent = GetContentFromPoFile("English.pot") - - Set oLanguages = GetLanguages - For Each sLanguage In oLanguages.Keys 'For all languages... - If (bRunFromCmd = True) Then 'If run from command line... - Wscript.Echo sLanguage + sDir = oFSO.GetParentFolderName(Wscript.ScriptFullName) + Set oEnglishPotContent = GetContentFromPoFile(sDir & "\English.pot") + If oEnglishPotContent.Count = 0 Then Err.Raise vbObjectError, "Sub Main", "Error reading content from English.pot" + Set oLanguages = Wscript.Arguments + If oLanguages.Count = 0 Then Set oLanguages = oFSO.GetFolder(".").Files + For Each oLanguage In oLanguages 'For all languages... + sLanguage = CStr(oLanguage) + If LCase(oFSO.GetExtensionName(sLanguage)) = "po" Then + Set oLanguagePoContent = GetContentFromPoFile(sLanguage) + If oLanguagePoContent.Count > 0 Then 'If content exists... + CreateUpdatedPoFile sLanguage, oEnglishPotContent, oLanguagePoContent + End If End If - Set oLanguagePoContent = GetContentFromPoFile(oLanguages(sLanguage)) - If (oLanguagePoContent.Count > 0) Then 'If content exists... - CreateUpdatedPoFile oLanguages(sLanguage), oEnglishPotContent, oLanguagePoContent - End If Next EndTime = Time @@ -56,30 +55,15 @@ '' ' ... -Function GetLanguages() - Dim oLanguages, oSubFolder, sPoPath - - Set oLanguages = CreateObject("Scripting.Dictionary") - - For Each oSubFolder In oFSO.GetFolder(".").SubFolders 'For all subfolders in the current folder... - If (oSubFolder.Name <> ".svn") Then 'If NOT a SVN folder... - sPoPath = oFSO.BuildPath(oSubFolder.Path, oSubFolder.Name & ".po") - If (oFSO.FileExists(sPoPath) = True) Then 'If the PO file exists... - oLanguages.Add oSubFolder.Name, sPoPath - End If - End If - Next - Set GetLanguages = oLanguages -End Function - -'' -' ... Function GetContentFromPoFile(ByVal sPoPath) Dim oContent, oSubContent, oTextFile, sLine Dim oMatch, iMsgStarted, sMsgId, sMsgStr, sMsgId2, sMsgStr2 Dim sTranslatorComments, sExtractedComments, sReferences, sFlags Set oContent = CreateObject("Scripting.Dictionary") + If bRunFromCmd Then 'If run from command line... + Wscript.Echo sPoPath + End If If (oFSO.FileExists(sPoPath) = True) Then 'If the PO file exists... iMsgStarted = 0 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |