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.2.0 is ready - Right on time for Christmas :-)

Structure of version 2.0.0 and higher

Products that use this Solution:

SAP SAP Crystal Reports, Version for Visual Studio .NET


  • 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:

Get the source code:

Documentation & Tutorial


Localization Tools:

ResXManager (Visual Studio Plugin and StandAlone)
Zeta Resource Editor (Freeware)

You can do a donation to me and my work.
It would be very nice of you :)
PayPal - The safer, easier way to pay online!

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.


20140512: Version 2.2.1 ready for download

20131215: Version 2.2.0 ready for download

20131122: Version 2.2.0 Beta ready for download

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!

20111103: I've added the source code to Github:
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)

Last edited Aug 28 at 10:19 AM by SeriousM, version 91