djeidot
djeidot

Reputation: 4640

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

I'm building a C++/MFC program in a multilingual environment. I have one main (national) language and three international languages. Every time I add a feature to the program I have to keep the international languages up-to-date with the national one. The resource editor in Visual Studio is not very helpful because I frequently end up leaving a string, dialog box, etc., untranslated.

I wonder if you guys know of a program that can edit resource (.rc) files and

Upvotes: 7

Views: 3653

Answers (13)

ekkis
ekkis

Reputation: 10236

I've written this recently, which integrates into VS:

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

largely because I was unsatisfied with the solutions out there. you'll need to get a client id from M$ (but they give you 2M words/month translation free - not bad)

Upvotes: 0

Germstorm
Germstorm

Reputation: 9849

ResxCrunch will be out soon, it will edit multiple resource files in multiple languages in one single table.

Upvotes: -1

Serge Wautier
Serge Wautier

Reputation: 21898

Managing localization and translations using .rc files and Visual Studio is not a good idea. It's much smarter (though counter-intuitive) to start localization through the exe. Read here why: http://www.apptranslator.com/misconceptions.html

Upvotes: 0

Larry Silverman
Larry Silverman

Reputation: 1053

You might take a look at Sisulizer http://www.sisulizer.com. Expensive though. We're evaluating it for use at my company to manage the headache of ongoing translation. I read on their About page that the company was founded by people who left Multilizer and other similar companies.

Upvotes: 2

Javier De Pedro
Javier De Pedro

Reputation: 2239

We are using Multilizer (http://www.multilizer.com/) and although sometimes it's a bit tricky to use, at the end with a bit of patient it works pretty well.

We even have a translation web site where translators can download our projects and then upload the translations using Multilizer command-line features.

Upvotes: 0

titanae
titanae

Reputation: 2289

Check out appTranslator, its relatively cheap and works rather well. The guy developing it is really responsive to enhancement requests and bug report, so you get really good support.

Upvotes: 2

Roel
Roel

Reputation: 19642

Also try AppTranslator: http://www.apptranslator.com/. It has a build-in resource editor so that translators can, for example, enlargen a text box when need bo. It has separate versions for developers and translators and much more.

Upvotes: 0

Joe
Joe

Reputation:

Here's a script I use to generate resource files for testing in different languages. It just parses a response from babelfish so clearly the translation will be about as high quality as that done by a drunken monkey, but it's useful for testing and such


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

Upvotes: 2

On Freund
On Freund

Reputation: 4436

Check out Lingobit Localizer. Expensive, but well worth it.

Upvotes: 2

Brian Ensink
Brian Ensink

Reputation: 11218

Check out RC-WinTrans. Its a commercial tool that my company uses. It basically imports our .RC files (or .resx files) into a database which we send to a different office for translation. The tool can then export a translated .RC file (or .resx file) for each language from the database. It even has a basic dialog box editor so the translator can adjust the size of various controls in the dialog box to be sure the translated text fits.

It also accepts a number of command line arguments and has a COM automation interface so you can integrate it into a build process more easily. It works quite well for us and we literally have thousands and thousands of strings and dialog boxes, etc.

(We currently have version 7 so what I've said might be a little bit different than their latest version 8.)

Upvotes: 0

jmatthias
jmatthias

Reputation: 7625

In my experience, internationalization requires a little more than translating strings. Many strings when translated, require more space on a dialog. Because of this it's useful to be able to customize the dialogs for each language. Otherwise you have to create dialogs with extra space for the translated strings which then looks less than optimal when displayed in English.

Quite a while back I was using a translation tool for an MFC application but the company that produced the software stopped selling it. When I tried to find a reasonably priced replacement I did not find one.

Upvotes: 2

Nic Strong
Nic Strong

Reputation: 6592

In the end we have ended up building our own external tools to manage this. Our devs work in the english string table and every automated build sends our strings that have been added/changed and deleted to translation manager. He can also run a report at anytime from an old build to determine what is required for translation.

Upvotes: 0

Nick Berardi
Nick Berardi

Reputation: 54894

If there isn't one, it would be pretty easy to loop through all the strings in a resource a compare them to the international resources. You could probably do this with a simple grid.

Upvotes: 0

Related Questions