Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a best-practice approach for internationalization of an application?

We need to have our apps be translated into other languages. This entails renaming the .text properties of our visible controls as well as other literals found within our apps to whatever language we need to translate into.

Is this something that can easily be accomplished with .resx files? I was thinking of creating a master resx key/value list where the key would be the fully qualified name of the control/variable/constant etc. and then refactor our apps to look into this file to get their values based on the cultureinfo found at runtime?

Is there a standard or simpler approach to this problem?

like image 629
Lee Warner Avatar asked Apr 06 '10 20:04

Lee Warner


2 Answers

Check out FairlyLocal when you get a chance. It's a library that lets you do i18n using GetText, thus allowing you to follow the best practices from the rest of the industry rather than the .resx stuff that MS tries to force on you.

like image 87
Jason Kester Avatar answered Oct 31 '22 19:10

Jason Kester


There a quite a few resources for this:

MSDN guide for ASP.NET applications.
Code Project example for WPF applications.

You are correct in thinking that this can be achieved through the use of .resx files. Basically you create .resx file for each language you wish to support and if you give it a name based on the locale (EN-US, DE-DE, etc) then it gets picked up automatically.

like image 1
ChrisF Avatar answered Oct 31 '22 21:10

ChrisF