Home > Uncategorized > Silverlight 3 Intl Improvements

Silverlight 3 Intl Improvements

As you aware by now Silverlight 3 is now available on http://microsoft.com/silverlight

 

Below is a list of international features that have seen updated in this release.

 

1. Comprehensive documentation on localization : http://msdn.microsoft.com/en-us/library/cc838238(VS.95).aspx

2. Local Font support including Cambria and Segoe UI http://msdn.microsoft.com/en-us/library/dd547542(VS.95).aspx 

3. ClearType support (Tip: Greatly improved but use native resolution)

4. Merged Dictionary Support

5. Element to Element Binding

6. Bug fixs – Improved support for asian cultures on XP, thai input issue

 

Im still waiting patiently for the localized runtimes and tools but that is generally very quick after the main launch.

 

Anyway below is a sample enables updating UI strings in realtime without re-starting your application.

 

This uses a singleton class to the PublicResxFileCodeGenerator that implements iNotifyProperyChanged

 

public class LocStrings :INotifyPropertyChanged

    {

        // INotifyPropertyChanged plumbing

        public event PropertyChangedEventHandler PropertyChanged;

        private void NotifyChange(String name)

        {

            if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(name));

        }

        //public constructor

        public LocStrings()

           {

           }

        // PublicResXFileCodeGenerator

        private static loc.Strings lStrings = new loc.Strings();

        public loc.Strings LStrings {

             get {  return lStrings; }

             set {  NotifyChange("LStrings");}

         }       

    }

 

private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)

        {

            ComboBox langddl = sender as ComboBox;

            string selectedLang = (langddl.SelectedItem as ComboBoxItem).Content.ToString(); ;

            Thread.CurrentThread.CurrentCulture = new CultureInfo(selectedLang);

            Thread.CurrentThread.CurrentUICulture = new CultureInfo(selectedLang);

            ((LocStrings)this.Resources["LStrings"]).LStrings = new SL3Loc.loc.Strings();

        }

 

Demo: http://silverlight.services.live.com/invoke/6655/SL3loc/iframe.html

Code: http://cid-2b248d261d0e0035.skydrive.live.com/self.aspx/Public/SL3Loc.zip

 

BTW: SilverlightRTL updated their excellent code to work on SL3 http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2009/07/10/silverlight-3-hebrew-and-arabic-support.aspx

 

Advertisements
Categories: Uncategorized
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: