关于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即将发布,它将在一个表中以多种语言编辑多个资源文件。


推荐阅读

    linux命令添加文件?

    linux命令添加文件?,工作,简介,数据,系统,文件,命令,操作,文件名,内容,终端,l

    linux文件输入命令?

    linux文件输入命令?,工作,系统,地址,信息,工具,位置,命令,设备,发行,首开,lin

    文件备份命令linux?

    文件备份命令linux?,网站,系统,设备,文件,软件,网络,工具,环境,数据,地址,lin

    linux文件中剪切命令?

    linux文件中剪切命令?,位置,系统,工作,命令,发行,连续,标准,终端,文件,目录,l

    linux存储文件命令?

    linux存储文件命令?,系统,地址,工作,命令,软件,电脑,标准,底部,信息,文件,lin

    linux保存命令文件?

    linux保存命令文件?,系统,状态,命令,文件,第一,管理,电脑,模式,编辑,终端,lin

    linux私有文件命令?

    linux私有文件命令?,系统,工作,工具,命令,设备,文件,目录,位置,不了,情况,Lin

    删除linux文件命令?

    删除linux文件命令?,名称,不了,文件夹,命令,文件,目录,方法,指令,子目录,选

    linux文件录入命令?

    linux文件录入命令?,系统,命令,网络,标准,时间,密码,名字,管理,文件,文件夹,L

    文件复制命令linux?

    文件复制命令linux?,系统,地址,文件,目录,位置,工具,命令,目标,文件名,源文

    linux命令移除文件夹?

    linux命令移除文件夹?,命令,文件夹,通用,不了,数据,名称,档案,系统,文件,目

    linux文件倒序命令?

    linux文件倒序命令?,地址,工作,管理,标准,命令,基础,系统,数据,最新,代码,lin

    在linux文件后加命令?

    在linux文件后加命令?,系统,工作,命令,工具,电脑,基础,管理,情况,第一,简介,L

    linux命令删除文件夹?

    linux命令删除文件夹?,系统,名称,环境,文件夹,不了,命令,文件,数据,档案,目

    linux命令看文件编码?

    linux命令看文件编码?,状态,系统,文件,工具,名称,数据,命令,格式,汉字,以下,L

    linux命令是什么语言?

    linux命令是什么语言?,系统,环境,代码,传播,管理,语言,操作系统,源码,自由,

    linux编辑文件的命令?

    linux编辑文件的命令?,系统,地址,工作,状态,命令,电脑,信息,管理,目录,终端,l

    linux命令行关掉文件?

    linux命令行关掉文件?,地址,状态,工作,系统,信息,命令,名字,电脑,编辑,文件,l

    linux命令穿件文件夹?

    linux命令穿件文件夹?,系统,名字,密码,名称,首次,命令,文件夹,文件,不了,时