LocalizationExtension is a realy easy way to localize any type of DependencyProperties on DependencyObects
- first of all: ITS FREE (and will stay free)
- is in a real stabel state
- supports binding-like write style like "Text = {LocText ResAssembly:ResFile:ResKey}"
- if ResAssembly and / or ResFile is the default, you can skip these parameters to ResAssembly::ResKey, ResFile:ResKey or only ResKey
- works with the .resx-fallback mechanism (e.g. en-us -> en -> independent culture)
- supports culture forcing (e.g. "this has to be english all the time")
- works with normal dependency properties
- works with control templates
- The LocalizeExtension offers DesignValue to support custom values during design mode
- Binding to a non-dependency Property is now supported
- can be used in xaml (realy :P) without any aditional namespace
- can be used in code behind to bind localized values to dynamic generated controls
- implements INotifyPropertyChanged for advanced use
- supports formating e.g. "this is the '{0}' value"
- supports prefix and suffix values (currently with LocText extension)
- is in use in productive systems (like my public relation product)
- switching of the language to runtime affects NO timeslice
- can be used with any resource file (.resx) accross all assemblies (also the dynamic loaded one at runtime)
- dont need any initializing process (like "call xyz to register a special localize dictionary")
- is available at designtime (MS Expression Blend, MS VisualStudio 2008 (Normal and SP1)
- not for dynamic loaded assemblies which only can be found at runtime and as long the resource (.resx) is builded at designtime
- change of the choosen language is possible at designtime
- can localize any type of data type, as long a converter (TypeConverter) for it exists (extend LocalizeExtension)
- has build in support for Text, upper Text, lower Text, Images, Brushes, Double, Thickness and Flow direction
- dont affects any memory leaks
- leaves the UID property untouched
- offers a "SpecificCulture" to use as IFormatProvider (e.g. (123.20).ToString(LocalizeDictionary.SpecificCulture) = "123.20" or "123,20")
- offers some functionality to check and get resource values in code behind
- do not alter the culture on Thread.CurrentCulture or Thread.CurrentUICulture (can be changed easily)
NEWSA new Version of the Localize Extension is released!.Have a look at the release v20090516 ResolveLocalizedValue!Added a ResolveLocalizedValue method for code behind operations. 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.
Last edited May 19 at 6:51 AM by SeriousM, version 36
|
|