BAML Translator

by Ulysses , wdwxy12345@gmail.com

BAML Translator是用于汉化WPF程序的界面(BAML部分)的工具,最早用于汉化CeVIO。

不提供技术支持。

下载

效果可以看这里:CeVIO进度贴

由于貌似在此之前并没有用来处理BAML的工具,所以我决定将我的这个工具放出来。目前本工具暂时以 CC BY-NC-ND 3.0协议 发布。

 

使用简介:

首先打开一个有效的WPF exe文件。

程序会自动加载出所有BAML中的文本。在右侧将翻译填进去。不需要改动的留空即可。

点击下方Quick Save/Load快速保存/读取文本。

点击上方Text的Save/Load可以保存到(读取自)别的位置。选中All会保存(读取)所有条目(units),否则只保存(读取)你翻译过的条目。

保存的文本简单地采用“[原文]\t[翻译]\r\n”的格式,所以也可以从文本编辑器中多人合作进行翻译工作。

Type可以选择显示哪一种BAML的文本项,一般都选中就可以了。

Option中InnerTextMode可用于汉化程序内硬编码的文本。(如果程序被字符串混淆加密,则无法汉化)

UnicodeOnly选中后只显示含Unicode字符的条目(对于非英语软件很有用)。

改变Option后要点击Reload重新加载,但是在此之前一定要先保存文本(Quick Save)。因为重新加载会清空所有条目的翻译的。

翻译完成后,点击Process,程序会完成汉化过程,这个过程不会修改源程序。你需要点击Save As将修改后的程序另存到一个别的位置。

不过需要注意的是,只通过BAML(XAML)是无法辨别普通字符串和Binding用字符串的。比如“Step Size”这可能是界面上显示用的字符串,而“StepSize”则可能是绑定到程序里的StepSize变量的字符串。如果修改了后者,则会造成程序出错。所以需要谨慎辨别条目是否可以修改。(之后版本可能加入对单个BAML的修改)

 

另外,现在MS已经在推另一种编译XAML的方式:XBF。针对XBF的工具比BAML多很多。

添加评论

Loading