I am planning to make a multi-language application in C# and was wondering what is the best way to handle the follow:
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).
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
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 everyone said, using a resource file is good way to store the localization data. Starting from that point you can find some approaches, the most common approaches could be using satellite assembly or using a file based resource manager.
On my personal opinion, I think satellite assembly helps your project to be more flexible and obviously helps with extensibility (I think many comercial software uses this approach).
On the next link you can find information about the two approaches.
.NET - Localization using Resource file
The next link is a really good article aboud localization and base concepts.
Internationalization & Localization
Hope it helps.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.