你知道编辑/翻译资源(.rc)文件的好程序吗?

时间:2008-09-09 13:57:24

标签: c++ windows visual-studio mfc internationalization

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

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

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

13 个答案:

答案 0 :(得分:2)

结帐Lingobit Localizer。贵,但非常值得。

答案 1 :(得分:2)

这是我用来生成用于以不同语言进行测试的资源文件的脚本。它只是解析了来自babelfish的回复,所以翻译的质量与醉酒猴子一样高,但它对测试很有用


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><div style=padding:10px;>" foo.html`
    tx=`echo $tx | iconv -f latin1 -t utf-8 | sed 's/<td bgcolor=white class=s><div style=padding:10px;>\(.*\)<\/div><\/td>/\1/g'`
    echo $key=$tx
done

rm foo.html

答案 2 :(得分:2)

查看appTranslator,它相对便宜并且效果很好。开发它的人真的对增强请求和错误报告做出响应,所以你得到了很好的支持。

答案 3 :(得分:2)

您可以查看Sisulizer http://www.sisulizer.com。虽然很贵。我们正在评估它在我的公司使用,以管理正在进行的翻译的头痛。我在他们的关于页面上看到该公司是由离开Multilizer和其他类似公司的人创建的。

答案 4 :(得分:1)

根据我的经验,国际化需要的不仅仅是翻译字符串。翻译时,许多字符串在对话框上需要更多空间。因此,能够自定义每种语言的对话框非常有用。否则,您必须为翻译后的字符串创建额外空间的对话框,当用英语显示时,这些对话框看起来不是最佳的。

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

答案 5 :(得分:0)

如果没有,那么循环遍历资源中的所有字符串并将它们与国际资源进行比较将非常容易。你可以用一个简单的网格做到这一点。

答案 6 :(得分:0)

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

答案 7 :(得分:0)

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

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

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

答案 8 :(得分:0)

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

答案 9 :(得分:0)

我们正在使用Multilizer(http://www.multilizer.com/),虽然有时候使用起来有点棘手,但最后有一点耐心,它的效果非常好。

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

答案 10 :(得分:0)

使用.rc文件和Visual Studio管理本地化和翻译并不是一个好主意。通过exe开始本地化更聪明(虽然反直觉)。请在此处阅读原因:http://www.apptranslator.com/misconceptions.html

答案 11 :(得分:0)

我最近写过这篇文章,它集成到了VS:

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

主要是因为我对那里的解决方案不满意。你需要从M $获得一个客户ID(但他们给你2M字/月免费翻译 - 不错)

答案 12 :(得分:-1)

ResxCrunch即将推出,它将在一个表格中编辑多种语言的多个资源文件。