8

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

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

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

13 回答 13

2

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

于 2008-09-17T16:06:31.093 回答
2

查看appTranslator,它相对便宜且效果很好。开发它的人对增强请求和错误报告非常敏感,所以你得到了很好的支持。

于 2008-09-16T11:24:50.077 回答
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
于 2008-09-15T18:14:03.800 回答
2

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

于 2008-09-13T06:21:42.280 回答
1

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

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

于 2008-09-13T03:51:46.730 回答
0

我们正在使用 Multilizer ( http://www.multilizer.com/ ),虽然有时使用起来有点棘手,但最后有点耐心,它工作得很好。

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

于 2008-09-16T22:12:27.167 回答
0

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

于 2008-09-09T17:34:49.060 回答
0

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

于 2008-09-10T05:12:27.620 回答
0

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

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

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

于 2008-09-13T05:16:02.360 回答
0

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

于 2008-09-16T08:38:38.700 回答
0

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

于 2008-09-19T15:21:47.027 回答
0

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

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

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

于 2015-08-23T23:12:58.183 回答
-1

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

于 2009-03-20T14:42:20.903 回答