飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 9394|回复: 23

软件汉化后功能失常解决方法初探

[复制链接]

该用户从未签到

发表于 2006-7-10 06:48:48 | 显示全部楼层 |阅读模式
         软件汉化后功能失常解决方法初探
             ――SWFText 部分功能复活记
             Raindy 福州

『关 键 词 』功能失常  SWFText  功能修复 点睛偏移量转换器  UltraEdit
 
『引  言』
  经常遇到汉化后软件功能失效的现象,对于初学者,常因此而束手无策。这里以SWFText部分功能修复为例,简要分析一下软件功能失效修复的思路,希望对大家有所启发。

『所需工具』
“工欲善其事,必先利其器”,工具是少不了的:-)
这里需要的工具只需UltraEdit+点睛偏移量转换器

『软件信息』
软件名称:SWFText
软件版本:V1.1
适用平台:Windows 9x/ME/NT/2000/2003/XP
官方网站:www.antssoft.com/swftext/
功能简介:
  一款非常棒的Flash文本特效动画制作软件,可以制作超过200种不同的文字效果和20多种背景效果,可以完全自定义文字属性,包括字体、大小、颜色等等,使用SWFText完全不需要任何的Flash制作知识就可以轻松的做出专业的Flash广告条和个性签名!
  软件内置了27种背景特效、155种文本效果。

『存在问题』

  1)软件中“渐变颜色”选项的渐变类型“Linear/Radial”为ASCII资源(如图1),按常理我们用CXA/点睛提取字串翻译后生成汉化程序即可,但不巧的是,常规方法生成的程序在软件界面上显示是正常,但其功能却失效了,而原始英文则显示/功能都正常,何故??

  2)软件中“字体”设置选项中“水平对齐/垂直对齐” (如图示2)下拉菜单中“Left/Center/Right/Top/Middle/Bottom”这六处也属ASCII资源,一汉化则使该处功能失效….


『分析思路』
  1 检查标准资源是否有同名字符串。
  若有则两处(甚至多处)需要翻译一致,方可使用软件功能正常。本人以前汉化的Stud_PE即属此类,软件菜单栏“Tools”下的“Plugins”一词(如图3),当初为了美观起见,统一翻译为四个字,即“附带插件”,而与功能对应的ASCII资源的“Plugins”却依常规方法译作“插件”,结果功能失常(如图4)-每点击一次,则多出该选项……


  后来将两者(标准资源的词汇与ASCII资源的字符串)翻译一致,软件功能恢复正常:)

  2 检查非标准资源的某个字符串的偏移是否多处调用,一般同一字符串的偏移两个调用多见,软件SWFText图1所示的字符串即属于此类。
  呵呵,此时需要结合我们的法宝-乾坤大挪移来搞定,下面以修复“Linear”为例,简要演示一下修复方法。
  (1)运行UE与偏移量转换器,在UE中打开主程序SWFText.exe,搜索ASCII字串“Linear”
得到该字串的实偏移值为14b138,换成代码为38B15400,记下备用,如图5:

  (2)搜索(1)中的代码38B15400,发现该代码在两处调用(如图6),依据经验可知,这两处可能是一处用于执行软件功能,一处用于软件界面显示。但具体哪一处,我们也只能一一尝试而行。

  (3)此时我们要做的就是在适当空的地方(00组比较多的空白处)输入汉化后的字串“线性”,并取得该字串的实偏移值189702(依个人习惯选择位置不同,实偏移不同),对应代码为02975800;
  (4)此时我们再执行步骤(2),搜索代码38B15400,调用的两处中,我们先行选择第一处,将第一处中的代码“38B15400”替换为“02975800”即完成了乾坤大挪移操作,保存结果运行程序看看是否正常。
  (5)怎么样?运气不错吧!刚刚好第一处的偏移是用于显示软件界面,第二处用于执行功能,一切正常!搞定!!
  依上述方法,还可以搞定图1的“Radial”、图2中的“Left”“Top”,但图2中另外四个字符串却无法解决,这时候只能考虑第3种思路了:)

  3 上述方法无能为力的时候,我们所能做的就是联系原作者或提供软件源代码请半仙、牙缝他们来PEDIY了。呵呵!SWFText中也留有四处无法解决,成了一种缺憾美:(

『后  絮』
  当然上述的方法不是什么法宝圣典,只是提供一种修复思路,尽最大的可能恢复软件功能,一点心得与大家分享,希望不会怡笑大方,不当之处,敬请指正。

附:本文收录在汉化新世纪教学站点上,网址如下:
  http://teach.hanzify.org/index.php?Go=Show::483-1125504000
----------------------------------------
Raindy注:
  SWFtext中“渐变”选项“Radial”“Linear”可用此方法修复,但“字体”位置的6处字符需在“template.swf”修改,在1.2汉化版中,已由wxz8兄帮忙解决了,目前已经非常完美了。

[ 本帖最后由 raindy 于 2006-7-10 22:42 编辑 ]

评分

参与人数 1威望 +20 飘云币 +40 收起 理由
yyjpcx + 20 + 40 PYG有你更精彩!

查看全部评分

PYG19周年生日快乐!

该用户从未签到

发表于 2006-7-10 20:47:11 | 显示全部楼层
以前在汉化的时候也常有这种情况
经常汉化完了之后发现变成自制的试用版了
PYG19周年生日快乐!

该用户从未签到

发表于 2006-7-10 21:02:31 | 显示全部楼层
经验之谈,非常好,免去以后同类问题时的麻烦
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-12-8 14:12
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2006-7-11 19:55:02 | 显示全部楼层
    好文,学习了
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-7-13 18:45:54 | 显示全部楼层
    要学习,要努力,好文章!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2021-12-1 10:24
  • 签到天数: 46 天

    [LV.5]常住居民I

    发表于 2006-7-14 13:10:30 | 显示全部楼层
    几天没来,这么好的文章出台啦!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-7-14 22:19:41 | 显示全部楼层
    收藏下来慢慢研读。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-8-25 00:47:04 | 显示全部楼层
    raindy老大真是信人,这点小事还不忘带上我的名字。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    昨天 15:24
  • 签到天数: 2069 天

    [LV.Master]伴坛终老

    发表于 2006-10-1 16:34:12 | 显示全部楼层
    不错的文章,谢谢分享,学习了
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-10-14 22:50:54 | 显示全部楼层
    好文章,学习下~~`
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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