关于C#:您知道一个用于编辑/翻译资源(.rc)文件的好的程序吗?

关于C#:您知道一个用于编辑/翻译资源(.rc)文件的好的程序吗?

Do you know of a good program for editing/translating resource (.rc) files?

我正在多语言环境中构建C / MFC程序。我有一种主要(本国)语言和三种国际语言。每次向程序添加功能时,我都必须使国际语言与本国语言保持最新。 Visual Studio中的资源编辑器不是很有用,因为我经常最终留下未翻译的字符串,对话框等。

我想知道你们是否知道可以编辑资源(.rc)文件和

的程序

  • 构建仅包含要翻译的字符串及其各自的ID并接受另一种语言的相同(或相似)文件的文件(这将很有用,因为通常翻译是由其他人完成的),或者
  • 处理翻译本身,允许同时查看不同语言的相同字符串。

您可以看看Sisulizer http://www.sisulizer.com。虽然昂贵。我们正在对其进行评估,以供我公司使用,以解决持续进行的翻译的麻烦。我在他们的"关于"页面上读到,该公司是由离开Multilizer和其他类似公司的人创立的。


查看appTranslator,它相对便宜并且运行良好。开发它的人真的对增强功能请求和错误报告做出了响应,因此您会得到很好的支持。


这是我用来生成用于使用不同语言进行测试的资源文件的脚本。它只是解析了通天鱼的响应,因此很明显翻译的质量和醉酒的猴子的翻译质量一样高,但是对测试和这样的翻译很有用。

1
2
3
4
5
6
7
8
9
10
11
12
for i in $trfile
do
    key=`echo $i | sed 's/^\\(.*\\)=\\(.*\\)$/\\1/g'`
    value=`echo $i | sed 's/^\\(.*\\)=\\(.*\\)$/\\2/g'`
    url="http://babelfish.altavista.com/tr?doit=done&intl=1&tt=urltext&lp=$langs&btnTrTxt=Translate&trtext=$value"
    wget -O foo.html -A"$agent""$url" *&> /dev/null
    tx=`grep"<td bgcolor=white class=s>" foo.html`
    tx=`echo $tx | iconv -f latin1 -t utf-8 | sed 's/<td bgcolor=white class=s>\\(.*\\)<\\/div><\\/td>/\\1/g'`
    echo $key=$tx
done

rm foo.html

查看Lingobit Localizer。昂贵,但值得。


以我的经验,国际化只需要翻译字符串。翻译后的许多字符串在对话框上需要更多空间。因此,能够自定义每种语言的对话框非常有用。否则,您必须为翻译后的字符串创建一个具有额外空间的对话框,当以英语显示时,该对话框看起来不够理想。

不久以前,我在为MFC应用程序使用翻译工具,但生产该软件的公司停止了销售。当我试图找到价格合理的替代品时,我没有找到。


我最近写了这篇,集成到了VS中:

https://github.com/ekkis/Powershell/blob/master/MT.ps1

主要是因为我对那里的解决方案不满意。您需要从M $获取客户ID(但他们每月可以为您提供200万个单词的免费翻译-不错)


使用.rc文件和Visual Studio管理本地化和翻译不是一个好主意。通过exe开始本地化要聪明得多(尽管违反直觉)。在这里阅读原因:http://www.apptranslator.com/misconceptions.html


我们使用的是Multilizer(http://www.multilizer.com/),尽管有时使用起来有些棘手,但最终还是有些耐心,效果很好。

我们甚至还有一个翻译网站,翻译人员可以在其中下载我们的项目,然后使用Multilizer命令行功能上载翻译。


也可以尝试AppTranslator:http://www.apptranslator.com/。它具有一个内置的资源编辑器,以便翻译人员可以在需要bo时扩大文本框。它为开发人员和翻译人员提供了单独的版本,等等。


查看RC-WinTrans。它是我公司使用的一种商业工具。它基本上将.RC文件(或.resx文件)导入数据库,然后将其发送到其他办公室进行翻译。然后,该工具可以从数据库中导出每种语言的翻译后的.RC文件(或.resx文件)。它甚至具有基本的对话框编辑器,因此翻译器可以调整对话框中各种控件的大小,以确保翻译后的文本适合。

它还接受许多命令行参数,并具有COM自动化接口,因此您可以更轻松地将其集成到构建过程中。它对我们来说效果很好,实际上我们有成千上万的字符串和对话框等。

(我们当前有版本7,所以我说的可能与他们的最新版本8有所不同。)


最后,我们最终构建了自己的外部工具来进行管理。我们的开发人员在英语字符串表中工作,并且每个自动构建版本都会将已添加/更改和删除的字符串发送给翻译管理器。他还可以随时从旧版本运行报告,以确定翻译所需的内容。


如果没有,则很容易遍历资源中的所有字符串并将它们与国际资源进行比较。您可能可以使用简单的网格来做到这一点。


ResxCrunch即将发布,它将在一个表中以多种语言编辑多个资源文件。


推荐阅读