Globalizer: A better simpler WPF Localization

Localization in WPF should be simple. Unfortuantely it is not.

You either have to use Resx or you have to embed annoying and difficult to scale Uid tags all throughout your xaml (http://msdn.microsoft.com/en-us/library/ms788718). Your localization is now coupled to your compiler.

These methods also end up leading you to complex and expensive software for translation.

And none of these methods make it easy to switch between languages during runtime.

What if it was just simpler? What if it was decoupled from your compile time code? What if switching language at runtime was easy?

Globalizer makes this localization simplicity happen.

Globalizer is used by a large international company today without any performance issues.

Take a look at the Globalizer sample project here:

https://globalizer.codeplex.com/SourceControl/latest#WPFSharp.Globalizer.Examples

A few cool features:

  1. You can add languages after release. (It dynamically determines the languages available at runtime)
  2. You can have fallback text or a fallback language.
  3. You don't need to rebuild to change localized strings.
  4. Allows for easy flow direction change when changing languages.

English Example
http://download-codeplex.sec.s-msft.com/Download?ProjectName=Globalizer&DownloadId=637840

Spanish Example
http://download-codeplex.sec.s-msft.com/Download?ProjectName=Globalizer&DownloadId=637841

Hebrew Example 
(Note: I have no idea how accurate the words are. I just used Google to translate)
http://download-codeplex.sec.s-msft.com/Download?ProjectName=Globalizer&DownloadId=637842

Note: We left the words 'Hebrew' and 'Israel' in English just for this example, so you could see the language switched to Hebrew on selection.