Quantcast
Channel: WPF Localization Extension
Viewing all articles
Browse latest Browse all 286

Updated Wiki: Home

$
0
0

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:

SAPSAP Crystal Reports, Version for Visual Studio .NET

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:

https://nuget.org/packages/WpfLocalizeExtension/

Get the source code:

https://github.com/SeriousM/WPFLocalizationExtension

Documentation & Tutorial

Documentation

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.


NEWS

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! 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)

Viewing all articles
Browse latest Browse all 286

Trending Articles