Sign in to follow this  
Followers 0
Rick Brewster

ResxCheck tool -- Check your translations before publishing!

17 posts in this topic

This handy little utility will let you check your RESX translation file before you publish it. You must have .NET 3.5 installed in order to use this. Please reply with any comments or questions.

The program: http://www.getpaint.net/files/ResxCheck_3_30.zip

The source code: http://www.getpaint.net/files/ResxCheck_3_30_src.zip

ResxCheck v3.30.3033.25892
Copyright (C) 2008 dotPDN LLC, http://www.dotpdn.com/

Usage:
 ResxCheck.exe  [[mui1.resx] [mui2.resx] [mui3.resx] ... [muiN.resx]]

base.resx should be the original resx that is supplied by the developer or design team.

mui1.resx through muiN.resx should be the translated resx files based off of base.resx.
You may specify as many mui resx files as you would like to check.
(You can also not specify any, and then only base.resx will be checked)
TIP: You can specify a wildcard, such as *.resx

This program will check for:
 * base.resx must not have any string defined more than once
 * base.resx must not have any strings with incorrect formatting tags, e.g. having a { but no closing }, or vice versa

If any mui.resx files are specified, then these rules will also be checked:
 * mui.resx must not have any string defined more than once
 * mui.resx must have all the strings that base.resx defines
 * mui.resx must not have any strings defined that are not defined in base.resx
 * mui.resx must not have any strings with incorrect formatting tags, e.g. having a { but no closing }, or vice versa
 * mui.resx must not have any additional formatting tags, e.g. {2}

Examples:

 ResxCheck.exe strings.resx Strings.DE.resx String.IT.resx String.JP.resx
 This will use strings.resx as the 'base', and then check the DE, IT, and JP translations to ensure they pass the constraints and rules described above.

 ResxCheck.exe strings.resx translations\*.resx
 This will use strings.resx as the 'base', and then all of the RESX files found in the translations directory will be validated against it.

0

Share this post


Link to post
Share on other sites

hmmm

loks amazing

even tho i have no idea what it does :D

lol but i do hav .net 3.5 :) haha

0

Share this post


Link to post
Share on other sites

Seems to work nicely.

Showed to me that one label was incorrectly named, quick change JpegWidget -> ConfigUI and no errors.

0

Share this post


Link to post
Share on other sites

The new string UpdatePromptTaskDialog.IntroText.RtfFormatting.Format is causing problems for ResxCheck.

0

Share this post


Link to post
Share on other sites

I would recommend checking the translation by a proofreader byefore publishing net localization project :D <snip - this is not the place to advertise your wares>

0

Share this post


Link to post
Share on other sites

Well, my translation is ready and I have been trying to use the resxcheck tool but it doesn't seem to work :( (a common phenomenon when a linguist steps into the programming world!)

As soon as I click on the file a black msdos window opens for a split second and then it disappears. I am using Windows 7, maybe it has to do with that?

Anyway, I'd really appreciate it if there's anyone who has used it and would be kind enough to post some instructions.

0

Share this post


Link to post
Share on other sites

It's a command-line program. Hence the usage instructions talking about parameters, and not UI buttons.

0

Share this post


Link to post
Share on other sites

1) Move your resx file into a folder, for example in C:\temp. In the same folder should aslo be moved the ResGen.exe file, which can be downloaded from here.

2) Type "cmd" (without quotes) in the search box of Windows 7 and then press Enter. The MS-DOS command prompt will appear. Type "cd c:\temp" (without quotes and with a space between cd an c) to change the folder to the one where you have the resx file. Then right-click and paste the following string adapted for your language:

resgen /compile Strings.xx.resx,PaintDotNet.Strings.3.XX.resources

(the xx and XX are the 2-letter code for the language)

For the romanian language (xx = ro and XX = RO) the above string is:

resgen /compile Strings.ro.resx,PaintDotNet.Strings.3.RO.resources

In the MS-DOS prompt the command will look like this after pasting the string:

C:\temp>resgen /compile Strings.xx.resx,PaintDotNet.Strings.3.XX.resources

for romanian it is:

C:\temp>resgen /compile Strings.ro.resx,PaintDotNet.Strings.3.RO.resources

3) Press Enter and the language file will be generated automatically. Move it in the Paint.NET folder and then choose your language from within the software (Utilities menu).

Edited by muntealb
0

Share this post


Link to post
Share on other sites

@muntealb thank you ever so much, without your explanation I would have never succeded in making it work!

Trully appreciate it!

0

Share this post


Link to post
Share on other sites

I checked the translation against the base file and it didn't have any errors.

scr1h.jpg

But then, when I try to compile the files I get this:

scr4c.jpg

Any ideas what I could be doing wrong?

Edited by sunlioness
0

Share this post


Link to post
Share on other sites

Looking at your screenshots I noticed that your command is lacking the numeral 3,

that is in the command that muntealb gave as example.

Don't know if it's relevant.

0

Share this post


Link to post
Share on other sites

Well, there are two problems here, one is my fault, the other is your fault. The process should work smoothly after reading this message.

1) I forgot to write in my previous message that the file ResGen.exe must also be moved in the folder (C:\temp) with the resx file. Attention, this is not the same file as ResxCheck.exe and you cannot use any ResGen.exe file. I saw that in another thread someone already told you that and attached the correct file for you to use.

2) Indeed, as Sarkut pointed out, your command lacks the number 3, which is the version number of the software. As PDN is now at version 3.5, the number 3 must be used

So, for the greek language the command should be:

resgen /compile Strings.el.resx,PaintDotNet.Strings.3.EL.resources

The full path will look like this:

C:\temp>resgen /compile Strings.el.resx,PaintDotNet.Strings.3.EL.resources

Edited by muntealb
0

Share this post


Link to post
Share on other sites
Hellô Friends. I use the Firefox plugin and Lingoes Translator . We should not use
local slang because no translator understands . It's great to be here .
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0