Question Create and localize culture resx file

richiwatts

New member
Joined
Feb 17, 2010
Messages
1
Programming Experience
Beginner
My customer has 140 German resx files in different folders that he wants us to translate.

He wants us to provide culture specific resource files (en-gb) and has provided us with “Windows Resource Localization Editor” to translate the files with.

He wants the culture specific resource files to only contain strings we translate and anything we don’t translate will fallback to the Neutral/Default culture being the German resx file.

This seems to work well in the “Windows Resource Localization Editor” as only edited/translated strings are added to the translated resx file en-gb.resx

The problem is that we don’t want to use “Windows Resource Localization Editor” as we want to use a tool that allows for side by side translation and utilizes Translation Memory so we can stay consistent when translating the Help and Doc.

Most of the localization tools that we want to work with would just import the Neutral resx and output a copy of the Neutral file but with the strings translated. But as I said the client doesn't want to have too much unnecessary information in the culture specific resx.

My client doesn’t know much about the localization capabilities of Visual Studio and I don’t know anything about Visual Studio. When we have translated for other clients in the past they have just provided us with en-gb.resx files that only contained translatable strings that they wanted us to translate.

So here are my questions.

1. Is there not a function in Visual Studio that will allow my client to automatically generate en-gb.resx files that only contain strings for translation? If there is can you advise step by step so I can forward the instructions.
2. I suppose this question depends on the answer to the previous question. If the client can provide us with the above is there anyway t for them to remove duplicate strings that we didn’t have to translate. e.g. strings that contain product names and or web addresses, e-mails etc? I think they are just trying to keep their code as clean as possible
3. Finally, if the client later wants to create an en-us version, would it have to be a complete copy of the en-gb version with a few strings changed or could they have a en-us version that only contains strings that differ from the en-gb version?

Hopefully someone will know what I am talking about.
 
1. Is there not a function in Visual Studio that will allow my client to automatically generate en-gb.resx files that only contain strings for translation?

There isn't any way of doing this in Visual Studio. The problem with just copying the invariant (neutral) file and translating just the strings is that the invariant files contain all the localizable resources for the form. This includes alot of things (such as sizes and layout options) which you MIGHT want to change in a localization - but generally don't.
The normal .NET approach to resources makes use of the fallback mechanism - where only resources which are different to the invariant are saved in the culture specific resources. This reduces the size of the resources you have to distribute - but more importantly means that if I resize a control in the invariant form this change is reflected in the localized versions (unless this was specifically overridden in the localized form).

If the client can provide us with the above is there anyway t for them to remove duplicate strings that we didn’t have to translate. e.g. strings that contain product names and or web addresses, e-mails etc? I think they are just trying to keep their code as clean as possible

You could strip out all of the non-string resources from the resource files before translating - but this would be quite a lot of work unless you can find/develop a tool to do it.

3. Finally, if the client later wants to create an en-us version, would it have to be a complete copy of the en-gb version with a few strings changed or could they have a en-us version that only contains strings that differ from the en-gb version?

The normal approach is to create en.resx files and then only create en-gb.resx or en-us.resx files where there are resources that differ from the base english version.

It might be worth getting your client to take a look at Infralution's Globalizer.NET tool (Infralution Globalizer.NET). This makes localizing .NET applications much easier. Not only does it extract all of the resources from the application into a single workspace where you can do side by side translation - but it also allows you to specify exactly what type of resources you want to translate (eg just strings) and handles .NET fallback resources correctly (unlike a lot of localization tools which just copy the invariant and translate the strings as you mentioned).
 
Back
Top