Sign in to follow this  
UnshavenBastard

[.net] Advice needed: "Localizable" software, how do YOU do it?

Recommended Posts

Hallo there! I need some advice. What way ist the best (is there a best?) to make your .NET software support multiple languages/regions etc., which way do YOU make your software "localizable" and why? I read there is some built-in functionality in .NET to address this issue. Is this stuff good? Why / why not, what options are there? I'd like to hear (also) general answers here. On a more specific thing: One thing is, say, if you pay external translation offices to get your menu, dialog, hint and whatnot texts translated into the different languages, there might arise problems like if they only have some text file with string IDs and the corresponding, say english expression, and they translate it, it might end up making the user of the particular language laugh his ass off because in the particular context, the translation makes no sense... But you can't give the development environents to third party translators, so maybe it would be a good idea to make a tool program, where the translator sees how all will look like in the program to accordingly translate the texts? And maybe re-adjust some layout parts because say russian captions are in average 20% longer than english ones? In the game developer field those things seem to be a bit neglected and you see programs that... work in other languages, but there are some ugly translation artifacts when it comes to forms and menus, here and there... but as the important thing is the game and not the option menus... Well, what I want to say is that maybe GDN is not the best place to ask stuff like this, but after asking in lots other even subject specific forums I tend to always find my way back to GDN, it just happens to be my favorite programming forum and... here are lots of competent people, which seems not to be the case everywhere... hehe So, let me hear your suggestions/expericence and advice! thanks, unshaven

Share this post


Link to post
Share on other sites
Quote:
What way ist the best (is there a best?) to make your .NET software support multiple languages/regions etc.,
which way do YOU make your software "localizable" and why?

Depends on what kind of application it is and what your requirements are. You'll need to be more specific.

Quote:
I read there is some built-in functionality in .NET to address this issue.
Is this stuff good? Why / why not, what options are there?
I'd like to hear (also) general answers here.

The major .NET solution to localization is to use satellite assemblies for each language you intend to support. The article linked above is a good (but simplistic) overview of how this works. Essentially, a localization-enabled .NET application can determine at runtime which languages it supports and display strings/interfaces as necessary.

The primary disadvantage to using satellite assemblies/resource files is that a relatively minor change in interface (for instance, if you rename the 'View' menu to 'Popcorn') requires a change (if using resource files) or recompilation (if using assemblies) in all your satellite files. Localization therefore needs to be a final or last step in your development strategy if you take this approach.

There are several other approaches, but they're not as frequently used and serve niche application uses.

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