论坛风格切换切换到宽版
  • 37869阅读
  • 101回复

[原创/更新]TransText 2.2.264 - 字符串提取、回写以及替换工具 [复制链接]

上一主题 下一主题
离线Yonsm
 

发帖
57
金钱
60
威望
6
只看楼主 倒序阅读 0 发表于: 2007-04-17
更新了TransText,加入了最新  Android 4.0 风格的 UTF-8 前导个数的字符串格式支持,修改了程序UI,更直观的地设置字符串格式。

功能:

1. 提取英文字符串,保存为 PASSOLO 支持的 INI 格式,以便工程化翻译(供汉化工作者使用)。
2. 回写英文字符串。
3. 查找和替换字符串。
4. 所有操作均支持文件或文件夹批量处理,支持通配符搜索文件。
5. 全面支持 BSTR (带长度的字符串模式)提取、回写和搜索。2.0 新增

6. 支持 Visual Studio 2005/2008 项目文件转换(小功能):拖动.sln文件到“搜索”页面时,自动检测 Visual Studio 2005/2008 方案文件,并询问是否转换方案和工程文件的格式(2005/2008互转)。




最新版本,2.2.264(包含源代码):http://www.yonsm.net/post/316

TransText.rar (37 K) 下载次数:166   (VS 2012 编译,好多人都说XP中不行运行,仔细了解后发现,目前只能用Visual Studio 2010来编译才能支持XP。2012要等晚些时候微软会发布一个新的update才能支持XP运行程序的编译。我懒得去下载了2010了,有需要的自己编译一下吧,源代码一直都公开的。)


补充,88楼的网友编译的XP可运行,91楼我有补充新老版本的源代码和VS2010的编译方法。

终于可以大规模工业化汉化 Android 程序了TransText 提取,配合 Passolo,完美实现……
从此可以不用小打小闹了。汉化最怕的就是不能重用资源,利用Passolo的强大功能可以解决这个问题。但Passolo并不支持 Android 的资源文件,配合TransText就行了,步骤大概是:
1. 用 TransText 提取 .arsrc的字符串(勾选UNICODE字符串模式,勾选带长度的字符串模式,只提取英文字符串也可以勾选,避免其他字符串)

2. 用 Passolo 添加 .ttt 文件看工程中(建议创建 .ttt 文件的规则,复制INI规则既可,或者不会的话,直接把 .ttt改名为.ini),汉化ttt文件并输出汉化后的文件。(同时把汉化后的字典导出保存一下,下次升级后再用)

3.用 TransText 回写Passolo的输出ini(ttt)到.arsrc中,重新打包apk即可。

感谢 汉化新世纪 乾(qian.hanzify.org)在此工具制作过程中的意见和建议。

离线

发帖
8853
金钱
135
威望
14
只看该作者 1 发表于: 2007-04-17
这两天在等你这个工具了,呵呵
看中的不是转换,而是提取,希望多一些提取方面的功能。比如能够提取非PE文件(目前会出错),能够实现不截断强制加长写入--目前都是为了安全,不能写入超过原长度的字串,事实上一些非PE格式的特异语言包,是可以允许加长写入的。这个功能可以作为可选项嘛,需要时勾选,默认是禁止。

http://teach.hanzify.org/index.php?Go=Show::637-1176744394
<a href="http://teach.hanzify.org/index.php?Go=Show::422-1074355200" target="_blank"><!--coloro:red--><span style="color:red"><!--/coloro-->正大光明赚钱求存,阳谋有私继续汉化</a><br /><a href="http://bbs.hanzify.org/index.php?showtopic=20135" target="_blank">新手提问必看</a><br />Exescope只是汉化辅助工具<br /><a href="http://teach.hanzify.org" target="_blank">看教学啊看教学!</a><br />你先动手,我再帮你!<!--colorc--></span><!--/colorc--><br /><img src="http://teach.hanzify.org/Images/hhteach.gif" border="0" alt="图像" /><br />多做补丁版,少做安装版...
离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 2 发表于: 2007-04-17
PE文件非标准资源的汉化:
1) 用点睛提取PE文件的 ASCII 或者 Delphi 或者 Unicode 字串,生成 XXX.a.txt 或者 XXX.d.txt 或者 XXX.u.txt 文件。
2) 用 Passolo 的文本文件解析器直接汉化上述文本文件(Passolo 汉化版中已包含有所需的文本解析规则)。
3) 用点睛的替换功能重新回写汉化了的字串。
离线Yonsm

发帖
57
金钱
60
威望
6
只看该作者 3 发表于: 2007-04-17
QUOTE(乾 @ 2007年 04月 17日 01时 30分) [snapback]328699[/snapback]

这两天在等你这个工具了,呵呵
看中的不是转换,而是提取,希望多一些提取方面的功能。比如能够提取非PE文件(目前会出错),能够实现不截断强制加长写入--目前都是为了安全,不能写入超过原长度的字串,事实上一些非PE格式的特异语言包,是可以允许加长写入的。这个功能可以作为可选项嘛,需要时勾选,默认是禁止。

http://teach.hanzify.org/index.php?Go=Show::637-1176744394
  • 提取方面,仔细看了想了,如果不使用反汇编代码段的方法,肯定会有很多非 UI 字符串的,反汇编的提取方法后面再看看。毕竟垃圾串太多不方便使用 PASSOLO 的字典全部翻译。
  • 现在也可以提取非 PE 文件的,如果会出错,那是程序的BUG,烦请告知处理什么文件出错:)——哦,非PE文件,现在不要选取智能提取的 CheckBox,这些小毛病马上会改掉的。
  • 能够实现不截断强制加长写入
    >>这个现在就能的,每个词条前面是Offset,Size=String,Size 就是最大长度。遇到了最大长度后,TransText 不会写入后面超常的部分——或许,此时应该给出一个警告。
  • 事实上一些非PE格式的特异语言包,是可以允许加长写入的。这个功能可以作为可选项嘛,需要时勾选,默认是禁止。>>这个……目前可以用这种方法解决:修改 Offset,Size=String 中 Size 的大小,10 进制的。如果需要全部修改,可以用 UE 替换“????=”为"9999="即可。后面我会考虑加入选项。
QUOTE(gnatix @ 2007年 04月 17日 07时 38分) [snapback]328706[/snapback]

PE文件非标准资源的汉化:
1) 用点睛提取PE文件的 ASCII 或者 Delphi 或者 Unicode 字串,生成 XXX.a.txt 或者 XXX.d.txt 或者 XXX.u.txt 文件。
2) 用 Passolo 的文本文件解析器直接汉化上述文本文件(Passolo 汉化版中已包含有所需的文本解析规则)。
3) 用点睛的替换功能重新回写汉化了的字串。


傻眼了我:)
以前也尝试过这样做,但点睛我总是没琢磨出怎么好用。你汉化的 PASSOLO 我一直在用,多谢!

顺便问一下,大家觉得那款软件在 非标提取 方面做得最好?我可以作为目标参考一下,否则做出来的东西必现有的差,那是白费工夫了。
离线HYQ9

发帖
1520
金钱
200
威望
20
只看该作者 4 发表于: 2007-04-17
1、加入可提取中文字符的可选选项。

2、提取的 ini 文件,允许用户整行整行的删除不需要汉化的字符,把整理过的 ini 文件再用 PASSOLO 翻译,然后再写回 PE 文件中。我没有试,不知道有没有这个功能?如果有,再添加一个可以编辑 ini 文件的编辑器,能方便的删除不需要汉化的行。
<b>中国人,用中文,做中文程序!</b><br />访问我的主页:<a href="http://hyq9.blogcup.com" target="_blank"><!--coloro:green--><span style="color:green"><!--/coloro-->http://hyq9.blogcup.com<!--colorc--></span><!--/colorc--></a><br />访问我的Blog:<a href="http://vip.hanzify.org/hyq9/blog/default.asp" target="_blank"><!--coloro:green--><span style="color:green"><!--/coloro-->http://vip.hanzify.org/hyq9/blog/default.asp<!--colorc--></span><!--/colorc--></a><br />查看我的作品:<a href="http://www.hanzify.org/index.php?Go=Search::List&Type=all&Key=HYQ" target="_blank"><!--coloro:green--><span style="color:green"><!--/coloro-->我的部分汉化作品<!--colorc--></span><!--/colorc--> </a>
离线

发帖
8853
金钱
135
威望
14
只看该作者 5 发表于: 2007-04-17
QUOTE
能够实现不截断强制加长写入
>>这个现在就能的,每个词条前面是Offset,Size=String,Size 就是最大长度。遇到了最大长度后,TransText 不会写入后面超常的部分——或许,此时应该给出一个警告。

我需要的是能强制写入,最好是做个总的选择项,平时不勾,勾上就不管任何情况都强制超长写入。
QUOTE
肯定会有很多非 UI 字符串的,反汇编的提取方法后面再看看。毕竟垃圾串太多不方便使用 PASSOLO 的字典全部翻译。

建议不要在这方面花太多精力,干扰字串肯定是有的,只要能实现
QUOTE
允许用户整行整行的删除不需要汉化的字符
,我觉得就可以了。让汉化人自己去判断吧。毕竟不同类型的非标太多了,尤其面对非PE格式,这个不值得太费神


QUOTE
1、加入可提取中文字符的可选选项。

区分简繁?提取日文?要求太多了,呵呵
<a href="http://teach.hanzify.org/index.php?Go=Show::422-1074355200" target="_blank"><!--coloro:red--><span style="color:red"><!--/coloro-->正大光明赚钱求存,阳谋有私继续汉化</a><br /><a href="http://bbs.hanzify.org/index.php?showtopic=20135" target="_blank">新手提问必看</a><br />Exescope只是汉化辅助工具<br /><a href="http://teach.hanzify.org" target="_blank">看教学啊看教学!</a><br />你先动手,我再帮你!<!--colorc--></span><!--/colorc--><br /><img src="http://teach.hanzify.org/Images/hhteach.gif" border="0" alt="图像" /><br />多做补丁版,少做安装版...
发帖
247
金钱
0
威望
0
只看该作者 6 发表于: 2007-04-17
同意乾的说法,能提取非PE文件最好!
www.pcfinal.cn

QQ:5474131

人,要么好好活着,要么赶紧死!
离线Yonsm

发帖
57
金钱
60
威望
6
只看该作者 7 发表于: 2007-04-17
QUOTE(黑色开裆裤 @ 2007年 04月 17日 11时 36分) [snapback]328726[/snapback]

同意乾的说法,能提取非PE文件最好!



可以提取 非 PE,取消智能提取就可以了。我马上修改了,不需要取消这个也能提取非PE了。还没有上传。

QUOTE(HYQ9 @ 2007年 04月 17日 10时 52分) [snapback]328716[/snapback]

1、加入可提取中文字符的可选选项。

2、提取的 ini 文件,允许用户整行整行的删除不需要汉化的字符,把整理过的 ini 文件再用 PASSOLO 翻译,然后再写回 PE 文件中。我没有试,不知道有没有这个功能?如果有,再添加一个可以编辑 ini 文件的编辑器,能方便的删除不需要汉化的行。


1.暂时不想做这个了,主要是为了汉化。如果需要,可以支持更强大的提取规则,比如正则表达式或者,连续多少个英文字符,连续多少个汉字等等的。

2. 编辑器还是个人用个人喜欢的好,用记事本就可以整行整行的删除。

QUOTE
1.我需要的是能强制写入,最好是做个总的选择项,平时不勾,勾上就不管任何情况都强制超长写入。

马上加
QUOTE
2.建议不要在这方面花太多精力,干扰字串肯定是有的,只要能实现

也是,后面再说
QUOTE
3.我觉得就可以了。让汉化人自己去判断吧。毕竟不同类型的非标太多了,尤其面对非PE格式,这个不值得太费神


QUOTE
4.区分简繁?提取日文?要求太多了,呵呵

暂时先放放,如果确实很需要,可以支持提取规则。但我觉得最重要的还是提取英文,其它的用的很少,对我来说几乎没有用。
离线wanfu

发帖
2666
金钱
11510
威望
1151
只看该作者 8 发表于: 2007-04-17
你好!同乡!辛苦了。
测试了一下Unicode的提取和回写,基本可以。但是希望补充:
1、有的提取不正确,如(xxx),只提取了xxx),xPush Button(x是控制符)应该只提取Push Button。
2、回写没有选择,应该是二种选择,不到原字串长度的用“00”或“20”替换。
3、建议增加回写检测功能(除了偏移量外,如果原字符串和翻译中的原字符串一样,则回写),以及超长字符被截断时,写入回写日子并提示。
建议看看点晴助手的帖子
发帖
247
金钱
0
威望
0
只看该作者 9 发表于: 2007-04-17
[quote name='Yonsm' date='2007年 04月 17日 11时 49分' post='328727']
[quote name='黑色开裆裤' post='328726' date='2007年 04月 17日 11时 36分']
同意乾的说法,能提取非PE文件最好!
[/quote]


可以提取 非 PE,取消智能提取就可以了。我马上修改了,不需要取消这个也能提取非PE了。还没有上传。

太好了,这样估计能用来汉化S系统的手机软件了!赞!
www.pcfinal.cn

QQ:5474131

人,要么好好活着,要么赶紧死!