Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to create and maintain a multi-language project?

I am planning to make a multi-language application in C# and was wondering what is the best way to handle the follow:

  • The container for the languages;
  • Best approaches to read/change once initiated/requested;
  • As the program grows so does the the text for each language what do you usually do and recommend as best practice;
  • What sort of problems have you encountered while doing such type of applications;

Thanks for any advice, replies, etc.

I would really appreciate links and sample code if it's not too much trouble (not required, only if you have the time and can).

like image 484
Prix Avatar asked Jul 12 '10 15:07

Prix


2 Answers

I'd say that the standard way to localize a C# app is using resources and satellite assemblies. Here are some articles about this:

Creating and Implementing Satellite Assemblies
Localization Like the Pros
MSDN: Localizing Applications

like image 76
Hans Olsson Avatar answered Oct 29 '22 15:10

Hans Olsson


To handle languages the best way is to store strings in a resource file. You can release additional languages with satellite assemblies. You will find a lot of information about globalization and localization with C#: for example in MSDN

If you are planning to store much data, i would suggest SQL Compact + NHibernate. XML is very slow especially with C#.

like image 36
onof Avatar answered Oct 29 '22 14:10

onof