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.