The Localization Extension...
... is the easiest way to localize any type of DependencyProperties or native Properties on DependencyObjects under WPF & Silverlight.
Feature Demo:Version 2.1.4 arrived
Products that use this Solution:
Features:
- First of all: ITS FREE (and will stay free)
- Obtain stable results in
- WPF applications using .NET 3.5 and higher
- New: Silverlight 5.0 applications
- New: Windows Phone 7.x applications
- New: Localization source/provider can be changed freely at arbitrary nodes
- Use the Provider property in LocalizeDictionary to change the provider for the particular sub tree
- Use the DefaultProvider property to set the provider for the whole application
- Built-in RESX provider for resource file lookup (Default) - fully backward compatible to older versions of this extension
- Interface for custom providers
- Notification about provider changes and errors
- Get the list of all available cultures from a provider - or just take the bindable merged list from LocalizeDictionary
- CSV provider project in the Tests folder as an example for custom providers
- Supports binding-like write style like "Text = {lex:LocText ResAssembly:ResFile:ResKey}"
- Define a default assembly and / or resource file to reduce the key to ResAssembly::ResKey, ResFile:ResKey or even ResKey
- If no key is specified, the Name and Property Name of the target are used (e.g. MyButton_Content)
- Default assembly, dictionary and culture can be changed dynamically
- Default assembly and dictionary inherit along the visual tree and can be redefined at each node
- It is available at designtime (MS Expression Blend 3.0 & 4.0, MS VisualStudio 2008 & 2010
- not for dynamic loaded assemblies which only can be found at runtime and as long the resource (.resx) is built at designtime
- Even for Silverlight!
- No extra preview application needed
- Offers a DesignValue Property to support custom values during design mode
- Full support of various application scenarios
- Works with normal dependency properties
- Works with normal properties (e.g. Ribbon)
- Works with control/data templates
- Various culture setup features
- Works with the .resx-fallback mechanism (e.g. en-us -> en -> invariant culture)
- Supports culture forcing (e.g. "this object has to be in english all the time")
- Buffering allows fast switching of the language at runtime
- Offers a design language for visual testing at designtime
- Offers a "SpecificCulture" to use as IFormatProvider (e.g. (123.20).ToString(LocalizeDictionary.SpecificCulture) = "123.20" or "123,20")
- Does not alter the culture on Thread.CurrentCulture or Thread.CurrentUICulture (can be changed easily)
- Code behind features:
- Can be used in code behind to bind localized values to dynamic generated controls
- Implements INotifyPropertyChanged for advanced use
- Offers some functionality to check and get resource values in code behind (e.g. ResolveLocalizedValue)
- Easy to use
- Can be used with any resource file (.resx) accross all assemblies (also the dynamic loaded one at runtime)
- Does not need any initializing process (like "call xyz to register a special localize dictionary")
- Can localize any type of data type, as long a TypeConverter exists for it
- Example extensions included for
- Formating e.g. "this is the '{0}' value" (not bindable at the moment)
- Prefix and suffix values (currently with LocText extension)
- Upper and lower Text
- Last, but not least
- Does not create any memory leaks
- Leaves the UID property untouched
- Does not need an additional build task
- Is in use in various productive systems
Get the latest NuGet package at:
https://nuget.org/packages/WpfLocalizeExtension/Get the source code at:
https://github.com/SeriousM/WPFLocalizationExtensionDocumentation & Tutorial
DocumentationWPF Localization Addin:
WPF Localization Addin, hosted by skiba_kthanks for this!
You can do a donation to me and my work.
It would be very nice of you :)

Please let me know your Feedback or send me a message if you are using this extension in your projects!
It would be nice if you would call me your company and whether i have the permission to set it on the references.


20130828: Version 2.1.4 ready for download
20130408: Version 2.1.3 ready for download
20121112: Version 2.1.2 ready for download
20121017: Version 2.1.1 ready for download
20120706: Version 2.1.0 ready for download
20120626: Beta 2.1.0 ready for download
20120620: Version 2.0.0 ready for download
20120619: Beta 2.0.0 ready for download
20120615: We got a documentation! ...ehm - finally :-)
20120614: The Localization Extension is now also supporting Silverlight 5.0 applications! Check out the latest source at GitHub or NuGet package
20120521: I'm proud to announce that WPF Localization Extension is prepared for the future! It's now build on top of XAML Markup Extensions by MrCircuit
20120116: NuGet Package arrived! https://nuget.org/packages/WpfLocalizeExtension/
20111103: I've added the source code to Github: https://github.com/SeriousM/WPFLocalizationExtension
Now can everyone make a fork easily! go for it :)
20110725: The SVN Repository (Source Code Section) is now updated. (the project is still alive and will be monitored well by me)