Recommended

  • Silverlight 4 Podcast Pack with Tim Heuer
  • Building Modular Silverlight Applications
  • Prism -  10 Things to Know
  • Securing Silverlight Application and WCF Service using ASP.Net Authentication Techniques
  • Model– View – ViewModel in Silverlight
Skip Navigation LinksHome / Articles

Articles

+
Page 
Items Resolution

  • 11 comments  /  posted by  Pencho Popadiyn  on  Mar 03, 2010 (2 weeks ago)

    1. Introduction

    Beta versions of Silverlight 4 and .NET Framework 4 are already a fact. There are just a few weeks until the official releases. One of the coolest features which will be part of .NET Framework 4 and also will be available for Silverlight applications is the RX Framework. The arising interest around the RX Framework made me roll up my sleeves and start playing around this.
    So the first step was to answer several important questions such as: “what is Linq to Events?”, “what is RX Framework?”, and “what is Reactive Programming?” And generally what lies behind these sound terms? Linq to events or RX Framework (also known as Reactive Extensions for .NET Framework) is one and the same designation for a library for composing asynchronous and event-based programs using observable collections.

    Share


  • 2 comments  /  posted by  Ross Wozniak  on  Feb 26, 2010 (3 weeks ago)

    One important thing to keep in mind when internationalizing your application is that things may not look the same in another language, and I’m not just referring to the text looking different.

    My app looks like junk!

    I’ve seen mixed reports stating that in languages like German a UI designer should expect the text strings to be as much as 40-60% longer, or more. What that means is that UI that you have designed to lay out just perfectly in English may just go down the tubes when you switch to German.

    Monitor Resolution

    As you are developing your app you may have your monitor set to a resolution of 1600x1200, or higher.

    Share
  • 0 comments  /  posted by  Ross Wozniak  on  Feb 26, 2010 (3 weeks ago)

    Usually when we think of internationalization we think of the text that appears on the screen. However, it is important that you also think about dates, and perhaps images as well.

    Dates

    In the U.S. we get used to thinking of dates in terms of month, day and year, in that order. There are different ways of representing these (month name vs. number, 2 vs. 4-digit year, etc.) but it is important to recognize the fact that dates are not always represented the same way in other countries. For example, in England the day comes first and the month comes second.

    Share
  • 0 comments  /  posted by  Ross Wozniak  on  Feb 26, 2010 (3 weeks ago)

    As mentioned in the What is a .resx file and how should I us it? post, when you create a .resx file a corresponding .cs (or .vb) file/class is code-generated, and this class gives you strongly-typed access to resources. This can be used in declarative databinding or in code. One important thing to understand however is that if you create a .resx file called MyStrings.resx, behind the scenes a class is created called MyStrings. So make sure when you name your .resx files that you don’t use a name that you have used for another class in your project!

    Naming conventions for .resx keys

    From what I’ve read, Microsoft’s recommendation for .resx keys is Pascal-case.

    Share
  • 5 comments  /  posted by  Ross Wozniak  on  Feb 26, 2010 (3 weeks ago)

    It’s about time for a step by step walkthrough of the internationalization process. For this example, I will use my preferred approach, MVVM. Note that most of the steps would be the same for other internationalization methods that I outlined in my previous post, Implementation Options.

    Scenario

    In this example we will pretend that we are tasked with building an application whose requirements state that the default language will be English, but that users will also be accessing it from the U.K. and Germany.

    Note that this example is build with VisualStudio Beta 2 targeting Silverlight 4.

    Share
  • 0 comments  /  posted by  Ross Wozniak  on  Feb 26, 2010 (3 weeks ago)

    Most developers would prefer to hear that “this is the right way to do Internationalization”, but as with just about anything in the software development world, there are several different ways to do it. The standard response to the “what is the right way?” question is “it depends”. None of these methods are ‘right’ or ‘wrong’, but they do each have their pros and cons. Here are just some of the options:

    Method 1 - Microsoft Silverlight Business Application

    You may want to create a new project in VisualStudio using this template just to see how it’s done.

    Share
  • 0 comments  /  posted by  Ross Wozniak  on  Feb 26, 2010 (3 weeks ago)

    A .resx file is a place where application developers can store resources that are used in their apps. By resources I mean things like text and images that appear in the UI.

    Resources – An overloaded term

    Resources can mean several things to a developer, especially in Silverlight. Several years ago when I would have a Resources directory in my ASP.NET app, and it would have subdirectories for my Images, CSS files and JavaScript files.

    In a Silverlight project there are no CSS or JavaScript files (though there may be JavaScript files in the Web project), but you may still want subdirectories for Images and Styles (XAML files that provide custom style information).

    Share
  • 0 comments  /  posted by  Ross Wozniak  on  Feb 26, 2010 (3 weeks ago)

    I highly recommend that all .NET applications leverage Microsoft’s internationalization framework, regardless of whether or not there is a current business requirement for it. The main reasons are:

    • It is not all that difficult or time consuming to set an application up for internationalization at the onset of development.
    • It is much more difficult to internationalize an app after the fact, and no fun hunting through thousands of lines of code for every bit of text that appears on the screen. It is also not fun having to revisit the code every time QA finds a string that was missed…it is basically a testing and bug fixing nightmare.
    Share
  • 0 comments  /  posted by  Ross Wozniak  on  Feb 26, 2010 (3 weeks ago)

    As mentioned in my first post I will use the term internationalization throughout this post in reference to the ability to present an application in multiple languages.

    Technically I should use the term globalization, and often you will also see another term floating around, localization. These terms each have their own distinct meaning. The definition of each term and the reason for the terminology confusion is outlined on page 33 of this document (it’s actually page 5 of 34 in the PDF):

    http://www.dotneti18n.com/Downloads/Chapter3.pdf

    Abbreviations

    You may often come across abbreviations like I18N and L10N.

    Share
  • 1 comments  /  posted by  Ross Wozniak  on  Feb 26, 2010 (3 weeks ago)

    Download the source code

    This is the first in a series of blog posts around the topic of internationalization in Silverlight. Many of today’s LOB (line-of-business) applications require support for multiple user languages, and even those that do not yet would benefit from the techniques outlined in this series.

    In my position as a Developer Evangelist for Telerik’s XAML product line (Silverlight and WPF) I am frequently asked questions about how to internationalize a Silverlight app. I poked around on Google and found that there wasn’t very much information on this subject, and most of it was out of date, so I figured it would be appropriate to put together this series.

    Share

Page