代码之家  ›  专栏  ›  技术社区  ›  djeidot

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

  •  8
  • djeidot  · 技术社区  · 16 年前

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

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

    • 创建一个只包含要翻译的字符串及其各自ID的文件,并接受另一种语言的相同(或类似)文件(这将很有帮助,因为通常翻译是由其他人完成的),或者
    • 处理翻译本身,允许同时查看不同语言中的同一字符串。
    13 回复  |  直到 16 年前
        1
  •  2
  •   On Freund    16 年前

    退房 Lingobit Localizer . 很贵,但很值得。

        2
  •  2
  •   JoeJoe    16 年前

    下面是一个脚本,我用它生成不同语言测试的资源文件。它只是解析了一个来自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
    
        3
  •  2
  •   titanae    16 年前

    退房 appTranslator ,它相对便宜,工作也相当不错。开发它的人对增强请求和错误报告非常敏感,所以你得到了非常好的支持。

        4
  •  2
  •   Larry Silverman    16 年前

    你可以看看西苏利泽 http://www.sisulizer.com . 不过很贵。我们正在评估它在我的公司使用,以管理正在进行的翻译的头痛。我在他们的简介页面上看到,这家公司是由离开Multilizer和其他类似公司的人创建的。

        5
  •  1
  •   jmatthias    16 年前

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

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

        6
  •  0
  •   Nick Berardi    16 年前

    如果没有,将资源中的所有字符串与国际资源进行比较将非常容易。你可以用一个简单的网格来完成。

        7
  •  0
  •   Nic Strong    16 年前

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

        8
  •  0
  •   Scott Stanchfield    16 年前

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

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

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

        9
  •  0
  •   Roel    16 年前

    也可以尝试AppTranslator: http://www.apptranslator.com/ . 它有一个内置的资源编辑器,例如,翻译人员可以在需要bo时放大文本框。它有独立的版本供开发人员和翻译人员使用,还有更多。

        10
  •  0
  •   Javier De Pedro    16 年前

    我们用的是多重稳定器( http://www.multilizer.com/ )尽管有时使用起来有点棘手,但在最后有点耐心的情况下,它的效果还是相当不错的。

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

        11
  •  0
  •   Serge Wautier    16 年前

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

        12
  •  0
  •   ekkis    9 年前

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

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

    很大程度上是因为我对解决方案不满意。你需要从M$获得一个客户id(但是他们给你每月200万字的免费翻译-不错)

        13
  •  -1
  •   Germstorm Pierre-Alain Vigeant    16 年前

    ResxCrunch 很快就会发布,它将在一个表中用多种语言编辑多个资源文件。