DEV382 Building International Applications with the.NET Framework Christian Nagel Microsoft Regional Director Global Knowledge.

Slides:



Advertisements
Similar presentations
Advanced.Net Framework 2.0 David Ringsell MCPD MCSD MCT MCAD.
Advertisements

Building International Applications with Visual Studio.NET Achim Ruopp International Program Manager Microsoft Corporation.
Unicode and Windows XP Cathy Wissink Program Manager Globalization Infrastructure, Design and Development Windows International Microsoft.
 Yaniv Feinberg Senior SDE Microsoft Corporation  Erik Fortune Principal Dev Lead Microsoft Corporation PC52.
Building Localized Applications with Microsoft.NET Framework and Visual Studio.NET Achim Ruopp International Program Manager Microsoft Corp.
WEB401 Security Practices for Web Services (Part 2) Keith Ballinger Program Manager XML Messaging Microsoft Corporation.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
OFC324 Microsoft Project Server: Putting Enterprise Project Management (EPM) To Work Sam Brooks
Windows XP Language Interface Packs (LIPs) - Localized OSs for the Masses Russ Rolfe Program Manager.
26 April 2001 Unicode and Windows XP, IUC 18 (Hong Kong) Unicode and Windows XP Cathy Wissink Program Manager, Globalization Windows Division Microsoft.
Creating Multi-lingual Applications and Websites with Microsoft Visual Studio 2005 Achim Ruopp International Program Manager Microsoft Corporation.
Developing International Applications for Mobile Devices with.NET Achim Ruopp International Program Manager Microsoft Corporation.
DAT304 Leveraging XML and HTTP with Sql Server Irwin Dolobowsky Program Manager Webdata Group.
DEV317 Integrating Extensible Business Graphics into Enterprise Applications using Visio 2003 Mai-lan Tomsen Bukovec Program Manager.
Think Global! Custom Cultures and International Data Matt Ayers Program Manager Windows International Achim Ruopp Program Manager Developer Globalization.
DEV334 Creating Application Starting Points & Sharing Best Practices with Enterprise Templates Marc Gusmano Director of Emerging Technologies The Information.
Sakai: Localization & Internationalization Beth Kirschner University of Michigan
Mark Frederiksen ABLE Innovations i18n (Internationalization) in ASP.NET 2.0.
OFC304 Excel 2003 Overview: XML Support Joseph Chirilov Program Manager.
OFC 200 Microsoft Solution Accelerator for Intranets Scott Fynn Microsoft Consulting Services National Practices.
WEB326 ASP.NET 2.0: Going Global Gets Easier! New Localization Features in ASP.NET 2.0 Michele Leroux Bustamante Architect, IDesign Microsoft Regional.
DEV290 Building Office Solutions with Visual Studio Eric Carter Lead Developer Developer Platform & Evangelism Microsoft Corporation.
The Company….  The Market Leader in Globalization Technology –Pioneers in visual translation environments –Solutions for major platforms & programming.
SEC303 Assessing and Managing Privacy in the Enterprise JC Cannon Privacy Strategist.
DEV402 Extending the ASP.NET Runtime Jurgen Postelmans Microsoft Regional Director BeLux U2U.
Bing Hong OSIsoft Internationalization &
DAT305 Boost Your Data-Driven Application Development Using SQL Server Centric.NET Code Generator Pascal Belaud Microsoft France.
OFC 303 Advanced Word XML: Customer-Defined Schemas Brian Jones Program Manager Authoring Services.
Enter into new markets more easily Lower cost and time for development and translation Increase customer satisfaction and adoption Avoid costly mistakes.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
DEP362 Automated Deployment Services Paul Sutton Program Manager.
OFC290 Information Rights Management in Microsoft Office 2003 Lauren Antonoff Group Program Manager.
DEV339 Best Practices for Debugging Visual Studio.NET Applications Keith Pleas Architect, Guided Design
Globalization Support in Microsoft.NET Framework François Liger Program Manager Microsoft Corporation.
OFC 307 Office 2003 Solution Case Studies Ray Stephenson Smart Client Technical Evangelist
10 – 12 APRIL 2005 Riyadh, Saudi Arabia. Building multi-lingual ASP.Net application that handle western languages and Arabic with a single code base.
DEV337 Modeling Distributed Enterprise Applications Using UML in Visual Studio.NET David Keogh Program Manager Visual Studio Enterprise Tools.
Type Conversions Implicit Conversion Explicit Conversion.
DEV333 Instrumenting Applications for Manageability with the Enterprise Instrumentation Framework David Keogh Program Manager Visual Studio Enterprise.
Localization Support in Microsoft.NET Framework François Liger Program Manager Microsoft Corporation.
EBZ 321 Extending CMS 2002 Publishing Processes Scott Fynn Microsoft Consulting Services National Practices.
Internationalization in ASP.NET 2.0. SQL Server 2005 – Data Columns Use Unicode datatypes in: Table columns, CONVERT() and CAST() operations Use Unicode.
OFC291 Microsoft® Office Word XML (part 1 of 3): Introduction Martin Sawicki Lead Program Manager.
DEV303 ASP.NET: Leveraging Visual Studio.NET For Web Projects Tony Goodhew Product Manager Microsoft Corp.
DEV330 Visual Studio.NET IDE Tips and Tricks Billy Hollis Author / consultant.
DEP331 Migrating to Windows XP Mike Coleman Lead Product Manager, Windows XP Microsoft Corporation.
MBL490 Deploying Applications to Smartphone and Microsoft® Powered Pocket PC Marcus Perryman Consultant.
EBIZ327 InfoPath and BizTalk Server 2004 Scott Woodgate Jupiter Product Planner.
I18n = g11n + L10n Adam Long & Sam Soubra QSR International March 2009.
DEV396 Windows Forms: No Touch Deployment Tips and Tricks Jamie Cool Program Manager.NET Client Microsoft Corporation.
MSG331 Exchange Server 2000/2003 Software Development Kit Susan Hill Lead Programmer Writer Microsoft Corporation.
MBL 305 ASP.NET Mobile Controls: Best Practices Gökşin Bakir CSA Yage Ltd. Microsoft Regional Director.
DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation.
DBA331 Managing a Microsoft SQL Server 2000 Reporting Services Implementation Brian Welcker Group Program Manager SQL Server Microsoft Corporation.
DEV392.NET Framework: Building Applications With Globalization In Mind Michele Leroux Bustamante Principal Software Architect IDesign Inc.
EBIZ302 Jupiter Business Process Automation and Web Services David Fong Program Manager.
DEV332 Programming for the Middle Tier in Visual Basic.NET Billy Hollis Author / Consultant.
DAT200 Microsoft® ADO.NET for ADO Classic Developers: Introducing ADO.NET Jackie Goldstein Renaissance Computer Systems
MSG 334 Creating Exchange Administrative Scripting for the Non-Programmer Susan Hill Lead Programmer Writer Microsoft Corporation.
OFC311 Developing Microsoft Office InfoPath 2003 Solutions: Technical Drilldown Part 1 Tudor Toma Group Program Manager Office Microsoft Corporation.
Building Custom Controls with ASP.NET and the Microsoft ®.NET Framework Rames Gantanant Microsoft Regional Director, Thailand
OFC320 Building EPM Solutions with Microsoft Project Server Ted Dinklocker Program Manager Microsoft Corp.
DAT 390 Advanced ADO.NET Programming Techniques Jackie Goldstein Renaissance Computer Systems
7/23/2016 CSC 325 Advanced Programming Techniques Localization Slide #1 1 Localization Mikhail Brikman.
Metropolia 2013 C# programming and .NET framework
Globalization support in ASP.NET
Developing International Applications with Visual Studio 2005
Reach a worldwide audience by building a world-ready app
Build /23/2019 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
TechEd /27/ :51 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
Presentation transcript:

DEV382 Building International Applications with the.NET Framework Christian Nagel Microsoft Regional Director Global Knowledge

Christian Nagel Trainings, Consulting, Coaching Software Architect, Developer Global Knowledge –

Agenda Globalization and Localization Resource model Localization using Windows Forms Localization with ASP.NET Web Applications Demos

Key Terms Globalization (Internationalization) Create applications that support multiple cultures Character encodings Date, time, numeric, currency formats Localization (Translation) Customize applicatons for a given culture Resources

Unicode Issues 64K characters is not enough Chinese has over 80,000 characters Represented by supplemental characters (surrogate pairs) Supporting these is a requirement for EA markets Problems: Searching Composition | Decomposition

Combining Characters Some characters can be expressed: As pre-composed characters As base character + combining character(s) ǭǭ U+01EDU+01ED ̄̄ǫǫ U+01EBU+01EBU+0304U+0304 == == ̄̄ ̨ ̨ U+0328U+0328U+0304U+0304 oo U+006FU+006F

String Handling Use strings whenever possible (no individual characters) Rely on the StringInfo methods to handle surrogates and combining characters StringInfo::ParseCombiningCharacters StringInfo::GetTextEnumerator

System.Globalization Namespace Culture-aware string comparisons Date & Time formatting Numeric formatting Calendars

CultureInfo Invariant culture Culture-invariant default Neutral culture Based on language Resource only UI Culture only Specific culture Based on language and region Resource and Formatting specificsinvariant de de-AT de-CH de-DE de-LI de-LU en

Culture and UICulture CurrentUICulture Dependent on the operating system Can be set on Windows XP and Windows 2000 MUI CurrentCulture Picked up from GetUserDefaultLCID Control Panel | Regional Options Only specific cultures can be assigned

Invariant Culture CultureInfo.InvariantCulture Neither a neutral nor a specific culture Loosely associated with the English language Uses of the Invariant Culture Storing data Transferring data across the network For UI, prefer culture-sensitive formatting

Regions Class: RegionInfo IsMetric CurrencySymbol ISOCurrencySymbol

Culture-Aware Classes Calendar classes Gregorian, Hebrew, Hijiri, Japanese, Julian, Korean, Taiwin, Thai Buddhist DateTime, DateTimeFormatInfo NumberFormatInfo CompareInfo

Cultures and Regions Date/Time Formatting Number Formatting CultureInfo, RegionInfo demo demo

Setting the Culture Explicitely Culture of the Thread Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("es-ES"); Individual API string s = DateTime.Now.ToString("D", new CultureInfo("de-AT"));

Culture Specific Formatting: Text Output Any API wich takes a culture, or an IFormatProvider Default culture setting of the thread textBox1.Text = DateTime.Today.ToString("D"); textBox2.Text = floatNumber.ToString("N"); Specific culture setting textBox1.Text = DateTime.Today.ToString("D", new CultureInfo("es-ES")); textBox2.Text = floatNumber.ToString("N", new CultureInfo("de-AT"));

Culture Specific Formatting: Text Input Default culture setting for the thread string input = DateTime.Parse(textBox1.Text); NumberStyles allows setting for decimal point, exponent, currency, whitespaces, hex numbers... Double.TryParse(textBox2.Text, NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands, cultureInfo, out result);

Setting the Culture with ASP.NET Applications Web Config File Page Directive Programmatically using IE Settings demo demo

Resources Localization of User Interfaces XML or Binary Resource Files Add texts, pictures, or any serializable object Save resource information in Resource Files, Satellite Assemblies, or custom stores Tools: resgen, Visual Studio.NET

Resource Fallback Resources and Cultures Main Assembly CodeCode Default resources (fallback)Default resources (fallback)Greeting=“Hello”Farewell=“Goodbye” Logo= Logo= French No codeNo code “fr” resources“fr” resources Greeting = “Bonjour” Farewell = “Au revoir” French (France) (fr-FR) No codeNo code “fr-FR” resources“fr-FR” resourcesGreeting=“Salut”

Resource Manager Provides access to culture-correct resources Sources File-based Resources Assemblies, Satellite Assemblies Custom Resource Readers (e.g. Database- access)

Resource Sources File-based Resources Don't use them with ASP.NET Applications (files are locked) Additional languages can be added easily Satellite Assemblies Resource-only language-specific assembly Custom ResourceReader Read from custom data stores

Using Resources with Windows Forms Applications Visual Studio.NET Designer Support Windows Resource Localization Editor demo demo

Localizing ASP.NET Applications Different Pages for Every Language Fast access More maintenance needed Satellite Assemblies Don't use resource files with ASP.NET! Custom Resource Reader Store localized resources in the database

Creating a Custom ResourceReader Read Resources from a Database for ASP.NET demo demo

Summary The.NET Framework provides great support for localization and globalization Use System.Globalization to globalize applications Use System.Resources to localize applications Similar.NET Framework support for Windows Forms and ASP.NET

Questions? Questions?

Ask The Experts Get Your Questions Answered Thursday 11:00-14:00 Friday 11:00-13:30

Community Resources Most Valuable Professional (MVP) Newsgroups Converse online with Microsoft Newsgroups, including Worldwide User Groups Meet and learn with your peers

Suggested Reading And Resources The tools you need to put technology to work! TITLEAvailable Today Developing International Software, Second Edition: Microsoft Press books are 20% off at the TechEd Bookstore Also buy any TWO Microsoft Press books and get a FREE T-Shirt

evaluations evaluations

© 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.