找回密码
 加入
搜索
楼主: 131738

[原创] 更新 AutoIt v3.3.14.5 (2) 中文安装包

 火...   [复制链接]
 楼主| 发表于 2010-12-2 17:49:17 | 显示全部楼层
本帖最后由 131738 于 2010-12-2 17:53 编辑

回复 300# afan

见图中红方框,这个是由于空格造成的现象,其它地方有没有还未检查

一个 ? 在 htm 源码中用   (包含结尾的 ; 号)替换

空格位置见英版截图的红框标记,能否在代码中解决。。。





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2010-12-2 17:36:07 | 显示全部楼层
本帖最后由 131738 于 2010-12-2 17:39 编辑
不知道这样够用不?
以下是比对 3.3.6.1第一版与第二版的 AutoIt3.chm 分解文件夹的结果,看来帮助文 ...
afan 发表于 2010-12-2 01:43


昨天20点开始到现在, 一直在 WIN7 中上不了这里,其他网站都能上,怀疑这里在维护。。。。

刚转到 XP 上来了。。。。不知是什么原因。。。。

这个肯定是需要的。。。。收下了。。。。

下面脚本修改自你放给我的汉化文档的两个脚本,能运行,有效果,

只是请你看看会否有未出现的 BUG ,有或可否进一步优化。。。
#include <Array.au3>
#include <File.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

Global $WorkDir;需要搜索的目录
Global $BakDir = 'E:\htm测试\html备份\'
Global $LogFile = @ScriptDir & '\替换记录.txt'
Global $File_Path, $File_Array
$Form1_1 = GUICreate("Form1", 633, 105, 2, 2, BitOR($WS_POPUP, $WS_BORDER), _
                BitOR($WS_EX_DLGMODALFRAME, $WS_EX_TOPMOST, $WS_EX_TOOLWINDOW))
$Button1 = GUICtrlCreateButton("文 本 替 换", 520, 80, 105, 20)
$Button2 = GUICtrlCreateButton("编 码 替 换", 350, 80, 105, 20)
$Button3 = GUICtrlCreateButton("退    出", 150, 80, 105, 20)

$Label1 = GUICtrlCreateLabel("搜索字符", 5, 30, 52, 17)
$Label2 = GUICtrlCreateLabel("替换字符", 5, 57, 52, 17)
$Label3 = GUICtrlCreateLabel("文件地址", 5, 7, 52, 17)
$Label4 = GUICtrlCreateLabel("当前完成", 5, 80, 65, 17)

$Input1 = GUICtrlCreateInput("", 62, 28, 560, 20)
$Input2 = GUICtrlCreateInput("", 62, 56, 560, 20)
$Input3 = GUICtrlCreateInput("粘贴路径", 62, 5, 560, 17)
GUICtrlSetState ( -1, $GUI_FOCUS )
$Input4 = GUICtrlCreateInput("", 62, 82, 50, 17)
GUISetState(@SW_SHOW)
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button1;文本替换
                        $WorkDir = GUICtrlRead($Input3)
                        _Replacement()
                Case $Button2;编码替换
                        $WorkDir = GUICtrlRead($Input3)
                        If $WorkDir = "" Then
                                MsgBox(0, 0, "无路径!", 1)
                        EndIf
                        _format()
                Case $Button3;退出
                        Exit
        EndSwitch
WEnd
Func _format()
        If $WorkDir = "" Then
                MsgBox(0, 0, "无路径!", 1)
                Return
        EndIf
        Dim $szDrive, $szDir, $szFName, $szExt
        $File_Path2 = _PathSplit($WorkDir, $szDrive, $szDir, $szFName, $szExt)
        $File = $File_Path2[1] & $File_Path2[2] & 'AutoIt3 TOC.hhc'        
        $str = String(FileRead($File))
        $str = StringRegExpReplace($str, '(?<=\w)%20(?=\w)', ' ')
        If Not @error And @extended > 0 Then
                FileMove($File, $File & '.bak')
                FileWrite($File, $str)
        EndIf
        Local $ts = TimerInit() ;返回一个时间戳(开始计算耗时)
        Local $File_Array = _FileSearchToArray($WorkDir, '*.htm') ;遍历搜索*.htm文件(包括子目录)到数组 $File_Array[$i]=完整路径+文件名 $i 从 1 开始循环
        If @error Then
                MsgBox(4096, '错误', '未搜索到文件 ')
                Return
        EndIf
        Local $FR, $thStr, $FLog, $x = 0, $ISO, $UTF
        For $i = 1 To $File_Array[0]
                $FR = String(FileRead($File_Array[$i]))
                $ISO = StringInStr($FR, 'charset=iso-8859-1"')
                $UTF = StringInStr($FR, 'charset=UTF-8"')                
                If $ISO <> 0 Or $UTF <> 0 Then ;该文件含有iso-8859-1字符
                        FileMove($File_Array[$i], $BakDir & StringRegExpReplace($File_Array[$i], '.+?\\html\\', ''), 9) ;备份文件及目录结构
                        If $ISO <> 0 Then
                                $string = '(?<=charset=)iso-8859-1(?=")'
                        ElseIf $UTF <> 0 Then
                                $string = '(?<=charset=)UTF-8(?=")'
                        EndIf        
                        $thStr = StringRegExpReplace($FR, $string, 'GB2312')
                        FileWrite($File_Array[$i], $thStr) ;创建ANSI格式文件
                        $FLog &= $File_Array[$i] & @CRLF ;做输出记录
                        $x += 1
                        GUICtrlSetData($Input4, $x);实时显示修改数
                EndIf
        Next
        Local $te = Round(TimerDiff($ts))
        FileDelete($LogFile)
        FileWrite($LogFile, '共修改 ' & $x & ' 个文件,耗时 ' & $te & ' 毫秒。以下为已替换并改为ANSI格式的文件:' & @CRLF & $FLog)
        ShellExecute($LogFile)
        GUICtrlSetState ( $Button2, $GUI_DISABLE );禁用 编码转换 按钮
EndFunc   ;==>_format
Func _FileSearchToArray($sPath, $sFilter = '*.*') ;遍历搜索*.htm文件(包括子目录)到数组
        If StringRight($sPath, 1) <> '\' Then $sPath &= '\' ;路径变量加 "" 结尾
        If Not StringInStr(FileGetAttrib($sPath), 'D') Then Return SetError(1, 0, 0) ;无此目录,则返回错误
        If StringReplace($sFilter, ' ', '') = '' Then $sFilter = '*';文件类型变量为空,则变量='*'
        Local $sOUT = @ScriptDir & '\$$$_____temp_filelist.txt'
        FileClose(FileOpen($sOUT, 2));关闭此前打开的文本文件
        RunWait(@ComSpec & ' /c ' & 'dir ' & $sPath & $sFilter & ' /a:-d /b /s > ' & $sOUT, '', 0);写记录文件
        Local $FR = FileRead($sOUT);读记录文件
        FileDelete($sOUT);删除记录文件
        Local $afilelist = StringRegExp('1' & @CRLF & $FR, '\V+', 3);返回全局匹配的数组
        If @error Or UBound($afilelist) = 1 Then Return SetError(2, 0, 0) ;该目录无文件
        $afilelist[0] = UBound($afilelist) - 1
        Return $afilelist
EndFunc   ;==>_FileSearchToArray
Func _Replacement()
        If $WorkDir = "" Then
                MsgBox(0, 0, "无路径!", 1)
                Return
        EndIf        
        GUICtrlSetData($Input4, "");清空修改数
        $Count = 0
        $Original = GUICtrlRead($Input1)
        $replace = GUICtrlRead($Input2)
        ;遍历搜索*.htm文件(包括子目录)到数组 $File_Array[$i]=完整路径+文件名 $i 从 1 开始循环:
        Local $File_Array = _FileSearchToArray($WorkDir, '*.htm') 
        For $i = 1 To $File_Array[0]
                $retval = _ReplaceStringInFile($File_Array[$i], $Original, $replace, 0, 1)
                If $retval <> "" Then
                        $Count = $Count + $retval
                        GUICtrlSetData($Input4, $Count);实时显示修改数
                EndIf
                If $i = $File_Array[0] Then
                        MsgBox(0, 0, "完成", 1)
                        GUICtrlSetData($Input1, "")
                        GUICtrlSetData($Input2, "")                        
                Else
                EndIf
        Next
EndFunc   ;==>_Replacement
翻到第三页也没找到这个帖子,回头看原来置顶了。。。。
发表于 2010-12-2 16:30:05 | 显示全部楼层
出新版了,不错,感谢下载收藏
发表于 2010-12-2 13:36:11 | 显示全部楼层
帮助文件全汉化~~多年心愿~~谢谢
发表于 2010-12-2 13:08:56 | 显示全部楼层
好东西,支持一下,下载了
发表于 2010-12-2 12:01:19 | 显示全部楼层
收藏备用啦,谢谢楼主
发表于 2010-12-2 11:17:52 | 显示全部楼层
学下下
收藏备用啦,谢谢楼主
发表于 2010-12-2 09:05:45 | 显示全部楼层
好东西,下载
发表于 2010-12-2 07:06:02 | 显示全部楼层
太好了。。。下个看看
发表于 2010-12-2 06:56:46 | 显示全部楼层
器右机器机器

评分

参与人数 1贡献 -1 收起 理由
afan -1

查看全部评分

发表于 2010-12-2 01:43:38 | 显示全部楼层
本帖最后由 afan 于 2010-12-2 02:19 编辑
回复  afan

有个参考报告当然更好了,我目前的操作是新、旧英版比较,知道变化后,再修复中版,比较费时 ...
131738 发表于 2010-12-1 19:30


不知道这样够用不?
以下是比对 3.3.6.1第一版与第二版的 AutoIt3.chm 分解文件夹的结果,看来帮助文档并未更新。


以下是比对 3.3.5.6 与 3.3.6.1第二版的 AutoIt3.chm 分解文件夹的结果,更新力度可想而知…


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2010-12-2 00:51:11 | 显示全部楼层
顶一个看看~#¥%
发表于 2010-12-1 22:20:09 | 显示全部楼层
汉化辛苦,谢谢分享.
发表于 2010-12-1 22:10:38 | 显示全部楼层
好东西,支持一下
发表于 2010-12-1 20:50:43 | 显示全部楼层
下载;来研究下啦
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-10 00:54 , Processed in 0.084658 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表