International Applications in WPF and Silverlight Why Internationalize? What is...

30
Internationalizing XAML Applications in WPF and Silverlight Ken Azuma Senior Experience Architect Tetsuya “Ted” Kitamura Sales Manager 2ndFactory Co. Ltd Japan

Transcript of International Applications in WPF and Silverlight Why Internationalize? What is...

Page 1: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Internationalizing XAML Applications in WPF and SilverlightKen AzumaSenior Experience Architect

Tetsuya “Ted” KitamuraSales Manager

2ndFactory Co. Ltd Japan

Page 2: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Some International Applications in WPF and Silverlight

demo

Page 3: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

AgendaInternational Applications in WPF and SilverlightWhy Internationalize?What is Internationalization?What are the challenges we face in Internationalization?Internationalization is not just translation!Demo for InternationalizationHow to manage your design team to maximize ROI on InternationalizationQ&A

Page 4: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Why Internationalize?Rapidly Growing Global Market

More Internet Users in Asia than in United States.Korea has highest number of broadband users in the world by penetrationHuge markets are emerging: India, Brazil, Russia

Page 5: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

What is Internationalization?As known as “i18n”Different from Localization (L10n)

L10n: Adapting from one culture to anotheri18n : Design for use across many cultures Internationalization

Globalization Localizability

World-Readiness LocalizationMarket

Customization

Customizability

Page 6: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Challenges of i18nLanguage, Character

StorageEnglish, French, German etc … single byteChinese, Japanese, Korean etc… double byte

OrientationHebrew, Arabic etc …. BidirectionalChinese, Japanese, Korean etc… Vertical

Format and Quantities.Date, Time, Numbers, Time Zones

CurrencyCustom, Culture

Page 7: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Microsoft Word in Japanese

Microsoft PowerPoint in Hebrew

demo

Page 8: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Formats and Quantities

01/02/03 : what day is today ?Celsius or FahrenheitKg or PoundMile or KmTranslating the language does not fully localize or internationalize!

Ireland and England both speak EnglishIreland uses Km, England uses Miles

Page 9: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Currency

In the United States, you write $150.00In Japan we write 百五十円 . This is 150 Yen, and not Y 150.00 (The 円 is Yen)Value of currency can fluctuate based on trading rate and other factors. Cannot simply translate.Microsoft points on Xbox Live !

Page 10: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Looking at the Differences in Company Logos

demo

Page 11: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Custom, CultureToys“Я”us = トイザらスIntel Inside = インテル ハイッテルコケコッコー (koke-kock-oh) or cock-a-doodle-dooName position

Eriko Tamaki (Eriko is first name)えり子 玉城 ( えり子 is Eriko, 玉城 is Tamaki)玉城 えり子 and たまき えりこ

Brute : JiralhanaeIt’s not just translation, we should understand the culture to avoid problems.If needed, we have to swap part of UI.

Page 12: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Internationalization in WPF

demo – WPF -

Page 13: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Internationalization with WPF

What did we just see? Let’s Summarize

Some collapsing UI elementsAuto layout by “Flow Layout”

Some other tools in WPFlocbamlRich layout control

Considering to Separate logic and UIIf needed, Prepare UI for each region with each xaml

Page 14: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Internationalization in Silverlight

demo – Silverlight-

Page 15: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Internationalization in Silverlight

What did we just see? Let’s Summarize

At last, we can input double byte character !Even with 1.0, we can show them by integration with AJAX, or usual HTML control.

Some new things in Silverlight 2System Font SupportRich Layout Support

Page 16: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

UX Adds a new LayerUsers have increasingly sophisticated expectations!But with UX technologies we have increasingly sophisticated tools

Highly productive UI development mechanism like XAMLFlow layoutRich UI control

Good Design is more than just pretty pictures or good user interactions. Good Design means designing for everything about application including i18n at an early stage.

Page 17: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Managing the Design ProcessPlace culture advisor / partner for each

specific marketIf you decided to develop i18n of App :

Define scope (language, Layout, etc..)Define UI according to target UXDefine appropriate architecture for target UXDefine solution, project structure for development

system domain / presentation domain / Business domain, 3 domains must be one and the same.We should form better team workflow

Page 18: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Team model of 2ndfactory

Page 19: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Team model of 2ndfactoryBusiness Domain

Presentation DomainSystem Domain

Page 20: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Team model of 2ndfactoryBusiness Domain

Presentation DomainSystem Domain

inside-out

Outside-in

Page 21: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Team model of 2ndfactoryBusiness Domain

Presentation DomainSystem Domain

Business Goal

Design (in a broad sense)

Implementation

Page 22: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Bas

ic w

orkfl

ow o

f 2ndfa

ctor

y

Page 23: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Tool / Role relationship

Page 24: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Layer of applicationAsset

Interaction

Control / Layout

Event

Business Logic

Page 25: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

ConclusionInternationalization is important!

We’re a global communityThe world is a huge market for huge success!

There are many challenges, but they can be overcome!

Rich tools combined with disciplined process

It is impossible to achieve every UI design / layout with one auto layout XAML, but we can use parent / child XAML for replacing partially for dedicated culture. XAML rocks for i18n !

Page 27: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Question ?

Page 28: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

Thank you !

Page 29: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?

© 2008 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.

Page 30: International Applications in WPF and Silverlight Why Internationalize? What is Internationalization? What are the challenges we face in Internationalization?