Yasser Makram Independent Consultant http://www.silverlightrecipes.com Session Code: WEB 205 Dina Lasheen Program Manager http://blogs.msdn.com/vsarabic/ Microsoft Agenda Introduction to Arabic Development What’s new in WPF Arabic support: WPF support in the IDE New GridView, Calendar and data binding features Silverlight 4 Arabic Support Silverlight as a Rich UX Platform Basic Arabic Support in Silverlight Advanced Arabic Support in Silverlight Additional Arabic resources: Arabic CLIP Arabic Numeric conversion module Future Plans Introduction - Overview of Region More than 20 Arabic speaking countries… each have there own cultures, but share a common language. A population of more than 320 million people. Arabic is a complex scripts Arabic is a complex script. Bidirectional (Bidi): Since letters are rendered rtl, while numbers are ltr. Mixed Arabic and English scripts are also a common scenario. Character shaping: Characters can be displayed in up to 4 shapes, depending on their location in the string (First, last, middle and isolated forms). Ligatures: two or more characters can occupy a single space Diacritics, zero width characters that appear on top or bottom of characters to show the sound of letters. • Digit substitution – most Arabic locales use Indic digits, instead of 1,2,3 ..etc Arabic a complex script 3 2 1 0 يب ر ع ععــ ر ــي ـــر بــ بي Visual Studio Improvement WPF support in the IDE Start page Additional features WPF simply uses the value of the FlowDirection property to decide if a control needs to be mirrored. Therefore, if the FlowDirection property is set to RightToLeft, the controls are rendered RTL correctly: Reading Order is set to RTL Element Aligned to the right UI elements flow from right-to-left. For example, first button on the right the next is on it’s left …etc. Business Clients in WPF Arabic support You can build realistic business apps more efficiently in WPF in .NET 4.0 with Visual Studio 2010 Tools help you with Scaffolding and Customization Tools help you apply great styles for better looking apps New business controls help you with productivity and customization Business Clients in Arabic WPF applications Silverlight is a Platform for Building Great User Experience Beautiful Secure High Performance Usable Cross Platform Feature Rich Localizable Challenges in Building Global Applications that Supports Arabic - 1 Basic Arabic Text Rendering Character Ordering Mixed Text Shaping Ligatures Arabic-Indic Numbers Tashkeel Basic Arabic Text in Silverlight 4 Basic Arabic Text in Silverlight 4 on Mac Challenges in Building Global Applications that Supports Arabic - 2 Text Localization Bidirectional Layout Culture Detection Controls Basic Controls Rich Text Input Calendar DataGrid DataForm Charts Using Resource Files to Localize Applications Using VSM to Transition Between Locales Silverlight Toolkit Demo with Arabic Support Additional Arabic Initiatives Visual Studio 2008 Arabic CLIP Visual Studio International Feature Pack V. 2 Numeric conversion module Future Plans Demo What is a CLIP? Microsoft Captions Language Interface Pack (CLIP) Microsoft CLIP (or Microsoft Captions Language Interface Pack) is a language solution that uses tooltips or a window to display translation. Tooltip display - CLIP Window CLIP works with any application Show translations in the Tooltip and/or the CLIP Window Introduced by the Office team to offer translation to languages that we couldn’t ship a translated version. Arabic Visual Studio CLIP For the first-time Arabic CLIP It’s a community driven effort, with the help of university in Saudi Arabia. More than 13,000+ terms, 40,000 words translated to Arabic – based on the terms from the Express editions of Visual Studio 2008 Planning a next release for Visual Studio 2010, and hopeful for a full language pack in the future. • Available at: http://www.microsoft.com/down loads/details.aspx?FamilyID=4 e5258d2-52f4-46b8-8b74da2dbec7c2f7&displaylang=ar Demo Visual Studio International Feature Pack V. 2 This is a second release of a library created for East Asian countries. New Feature for Arabic customers: New numeric conversion module to convert the numbers to Arabic words. Support Visual Studio 2005 or higher http://www.microsoft.com/downloads/details.aspx?Family ID=7d1df9ce-4aee-467f-996ebec826c5daa2&displaylang=ar Visual Studio International Feature Pack V. 2 1) I created a simple WinForm application. 2) Add Reference to “InternationNumericFormatter.dll” library. 3) In the WinForm designer: a. Add a TextBox1: to accept the user numbers. b. Add a Label1: to display the output of the numeric conversion module. 4) Add an event to handle the TextBox1.TextChanged.. and double click to go the code view 5) In the code: using Microsoft.International.Formatters; using System.Globalization; private void textBox1_TextChanged(object sender, EventArgs e) { Double Value; if (Double.TryParse(textBox1.Text, out Value)) { if (Value <= 9999999999999999999) label1.Text = InternationalNumericFormatter.FormatWithCulture( "L", Value, null, new CultureInfo("ar")); else label1.Text = "The number is out of range"; } else label1.Text = ""; } Future Plans New Version of Arabic CLIP for Visual Studio 2010 Arabic MSDN Wiki for a subset of the Visual Studio documentation. Available online to be customized by the community Resources www.microsoft.com/teched www.microsoft.com/learning Sessions On-Demand & Community Microsoft Certification & Training Resources http://microsoft.com/technet http://microsoft.com/msdn Resources for IT Professionals Resources for Developers Track Resources Resource 1 Resource 2 Resource 3 Resource 4 Complete an evaluation on CommNet and enter to win an HTC HD2! © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.