The Traditional Approach
Requires a specialized localization infrastructure that demands significant man-hour investment.
Localizing applications using standard .NET mechanisms (via satellite assemblies) can be problematic - whether it's the localization of resource files native to the application or those of third party control libraries. Other tasks, such as changing application language at runtime or import/export strings for localization by non-programmers, can significantly impact internal resources.
The XAF Advantage
A built-in localization infrastructure that integrates with .NET and supports runtime customization and online translation services.
XAF supports all standard localization methodologies and also addresses the problems associated with them. With XAF, you can localize any portion of your application at runtime (e.g., correct certain values from satellite assemblies). An easy-to-use wizard provides online translation options (using Microsoft, Google, etc) and thus allows non-programmers to quickly import/export changes without leaving your application.
Localization - How it Works
Localization is a centralized feature of XAF and is a result of placing the model at the core of the configuration subsystem. Every application based on XAF can be easily localized using the Model Editor. Advanced linking of property values in the model makes localization very efficient - you need not change things like field captions in more than one location, unless required.
The Model Editor can be used to configure and edit any number of different cultures. By default, the application will run with the culture that is configured for the current system (if that culture is available), but for development purposes, a static culture can easily be activated.
While you can perform localization directly in the Model Editor, in most instances, using the built-in Localization Tool will be more efficient.
To avoid the translation of text supplied with standard XAF modules and DevExpress that ship as part of XAF, you can install pre-built satellite assemblies in the Global Assembly Cache (GAC). As a result, you will see translated values in the Model Editor and Localization Tool. As such, you will only need to translate your application's custom captions, messages, etc.