Globalization Support in Microsoft.NET Framework François Liger Program Manager Microsoft Corporation.

Slides:



Advertisements
Similar presentations
1 Introduction to ASP.Net 4.0 Development David Ringsell MCSD MCT MCPD.
Advertisements

Advanced.Net Framework 2.0 David Ringsell MCPD MCSD MCT MCAD.
Unit 1: Overview of the Microsoft.NET Platform
1 Unit 1: Introduction To.Net. 2 Introduction to.Net Integrated Development Environment (IDE) Languages in the.NET Framework The Common Language Runtime.
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.
Using.NET Platform Note: Most of the material of these slides have been taken & extended from Nakov’s excellent overview for.NET framework, MSDN and wikipedia.
Building Localized Applications with Microsoft.NET Framework and Visual Studio.NET Achim Ruopp International Program Manager Microsoft Corp.
SSCLI (Shared Source Common Language Infrastructure) (code name: Rotor)
Why.NET? Various languages struggling to interoperate with each other Developers undergoing huge learning curves to shift from one language to another.
Developing with the.NET Framework Rob Howard Program Manager.NET Framework Team Microsoft Corporation.
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
Introduction. What is.Net? The hype: “Microsoft.Net is a set of Microsoft software technologies for connecting information, people, systems, and devices.
.Net Overview Giuseppe Attardi Università di Pisa.
Microsoft.NET Overview.NET Framework Topics Dave Schmitt Principal Technology Specialist Microsoft Corporation
DEV200.NET Framework Overview Chris Anderson Software Architect,.NET Client Microsoft Corporation.
Thursday Evening 6.30VB.NET Introduction 7.30Break for food 8.00VB.NET Migration 8.45Q & A 9.00Done.
Module 1: Overview of the Microsoft.NET Framework.
SQL Server 2005 CLR Integration ADO.NET 2.0 Mike Taulty
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004.
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.
Using.NET Skills To Build Mobile Applications In Compact Framework Punit Shah Technical Lead | Microsoft |
Creating and Running Your First C# Program Telerik Software Academy Telerik School Academy.
Think Global! Custom Cultures and International Data Matt Ayers Program Manager Windows International Achim Ruopp Program Manager Developer Globalization.
Visual Studio.NET and.NET Compact Framework Application Development Mike D. Smith Group Program Manager Developer Division Microsoft Corporation.
Mark Frederiksen ABLE Innovations i18n (Internationalization) in ASP.NET 2.0.
ASP.NET The.NET Framework. The.NET Framework is Microsoft’s distributed run-time environment for creating, deploying, and using applications over the.
Microsoft.NET Framework Overview Abidi Mahmoud Seminarium on Component -based Software Engineering.
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
Session 1 - Introduction and Data Access Layer
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
WEB326 ASP.NET 2.0: Going Global Gets Easier! New Localization Features in ASP.NET 2.0 Michele Leroux Bustamante Architect, IDesign Microsoft Regional.
Assemblies & Namespaces1. 2 Assemblies (1).NET applications are represented by an assembly An assembly is a collection of all software of which the application.
The Company….  The Market Leader in Globalization Technology –Pioneers in visual translation environments –Solutions for major platforms & programming.
Module 1: Overview of the Microsoft.NET Platform.
Connecting Cold Fusion to.NET Using Web Services Geoff Snowman Developer Community Champion
Bing Hong OSIsoft Internationalization &
What is.NET? CS 351 Ed Gellenbeck. Today What is.NET? What Problems Does.NET Solve? What are.NET Framework Components?
CF and.NET Working Together Using Web Services Geoff Snowman Developer Community Champion Microsoft Corporation.
Enter into new markets more easily Lower cost and time for development and translation Increase customer satisfaction and adoption Avoid costly mistakes.
.Net Framework Web Application and Development Digital Media Department Unit Credit Value : 4 Essential Learning time : 120 hours
.NET Framework Danish Sami UG Lead.NetFoundry
1 Hammad Khan. COURSE CONTENTS.NET Framework And C# SQL Server 2008 ADO.NET LINQ ASP.NET Dynamics Data ASP.NET MVC framework 2 Advance C# Concepts Windows.
10 – 12 APRIL 2005 Riyadh, Saudi Arabia. Building multi-lingual ASP.Net application that handle western languages and Arabic with a single code base.
DEV382 Building International Applications with the.NET Framework Christian Nagel Microsoft Regional Director Global Knowledge.
.Net – The First Glance What Is.Net, Why Use.Net.
Rajiv and Shipra Introduction to.NET (asp.net,c#,vb)
Module 1: Getting Started. Introduction to.NET and the.NET Framework Exploring Visual Studio.NET Creating a Windows Application Project Overview Use Visual.
Localization Support in Microsoft.NET Framework François Liger Program Manager Microsoft Corporation.
Internationalization in ASP.NET 2.0. SQL Server 2005 – Data Columns Use Unicode datatypes in: Table columns, CONVERT() and CAST() operations Use Unicode.
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
I18n = g11n + L10n Adam Long & Sam Soubra QSR International March 2009.
DEV392.NET Framework: Building Applications With Globalization In Mind Michele Leroux Bustamante Principal Software Architect IDesign Inc.
Introduction to.NET Technology Overview Sean Puffett Developer & Platform Group Microsoft Ltd
Extending SharePoint through Web Parts and ASP.NET 최승현 대리 한국마이크로소프트.
Working in a Mobile App Development Environment Lesson 2.
7/23/2016 CSC 325 Advanced Programming Techniques Localization Slide #1 1 Localization Mikhail Brikman.
Diploma of Website Development Getting Started With ASP.NET
Introducing the Microsoft® .NET Framework
Metropolia 2013 C# programming and .NET framework
Globalization support in ASP.NET
Mobile Application Development 2005 By Sam Nasr July 25, 2006
Module 1: Getting Started
Developing International Applications with Visual Studio 2005
Windows Forms and Smart Device Extensions in the End-to-End Application Hans Verbeeck Developer Consultant Microsoft EMEA.
Saranya Sriram Developer Evangelist | Microsoft
.NET Framework Design Goals
Presentation transcript:

Globalization Support in Microsoft.NET Framework François Liger Program Manager Microsoft Corporation

What is.NET Framework? .NET is Microsoft's platform for building, deploying, operating and integrating XML Web services.  Rich XML, standard protocols, stateless  Cross-language development Common language runtime  Common type system for all languages  Rich runtime environment Rich class libraries (.NET Framework)  Base class libraries, ADO.NET and XML  Windows Forms for rich, Win32 applications  Web application platform ASP.NET  Easier to deploy, run, & maintain applications For components, versioning, availability

Key Terms (as used in this talk)  Globalization (a.k.a. Internationalization) Core application handles international data  Character encodings  Date and time, numeric, currency formats  …  Market adaptation Additional functionality for a given market  Localization = translation Localizable = ready for translation Resources  Application elements (error messages, UI) to be translated in localized versions

Why include international support in the Framework ?  Consistency.NET Framework is Unicode internally.NET Framework carries NLS+ classes, sorting tables Consistent results on Windows XP, Windows 2000, Windows NT 4, Windows Millennium, Windows 98 Note: there are a few limitations on down-level Unicode support:  Underlying operating system limitations  Windows Code pages  File I/O

System System.DataSystem.Xml System.Web Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Design ADO SQLTypes SQL XPath XSLT Runtime InteropServices Remoting Serialization ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.WinForms DesignComponentModel.NET Framework Namespace

System.Globalization Namespace  Includes classes for functionality such as: Culture-aware string comparison  AABC vs. ABCC (ordinal: codepoint values)  Coté vs. Côte (culture dependent) Date & Time formatting  yy/mm/dd vs. dd/mm/yy Numeric formatting  12, vs ,00 Calendars  Gregorian and non-Gregorian  Starting point : the CultureInfo class

CultureInfo  Provider of cultural preferences  Two roles CurrentCulture  Date and number formatting  String comparison and casing  … CurrentUICulture  Resource selection for user interface Can be controlled on a per thread basis  RFC 1766 derived hierarchy  CultureInfo.CreateSpecificCulture Optional mapping from neutral to specific

CultureInfo  Cultural preferences provider  Invariant culture culture-invariant default  Neutral culture Based on language Resource only No formatting CurrentUICulture only  Specific culture Based on language & region Resource & Formatting specifics CurrentCulture & CurrentUICulture invariant de de-AT de-CH de-DE de-LI de-LU en

CultureInfo and related classes Demo

How to Set Culture and UICulture Implicitly  CurrentUICulture Picked up from GetUserDefaultUILanguage  On Windows XP and Windows 2000 MUI SKUs, this setting can be set by end-user  Otherwise, set from OS resources language  CurrentCulture Picked up from GetUserDefaultLCID Affected by changes to Control Panel | Regional Options | Set Locale

How to Set CurrentCulture, CurrentUICulture Explicitly  Thread.CurrentThread.CurrentUICulture = new CultureInfo(“ja”)  Thread.CurrentThread.CurrentCulture = new CultureInfo(“ja-JP”)  Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages(0))  Within an individual API that takes a culture Str = DateTime.Now.ToString(cultureInfo);

What if I don’t want formatting to change by culture?  For UI, prefer culture-sensitive formatting  However, for wire-transfer, database storage, you may want stable, culture- unrelated format, such as #,###.## dd MMMM yyyy HH:mm:ss GMT international currency symbol  Use CultureInfo.InvariantCulture

Culture-aware Classes  Any API which takes a culture, or an IFormatProvider  Culture-sensitive by default  Examples System.Globalization.CompareInfo System.Globalization.StringInfo System.Globalization.Calendar System.Resources System.DateTime System.String

Culture-aware Classes  Calendar classes Includes support for  Gregorian Calendar  Hebrew Calendar  Hijiri Calendar  Japanese Calendar  Julian Calendar  Korean Calendar  Taiwan Calendar  Thai Buddhist Calendar Base Calendar class from which custom calendars can be derived

Culture-aware Classes  DateTime Provides methods that enable culture-sensitive operations on a DateTime. Use the DateTimeFormatInfo Class to format and display a DateTime based on culture.  DateTimeFormatInfo Defines how DateTime values are formatted and displayed, depending on the culture.

Culture-aware Classes  NumberFormatInfo Defines how currency, decimal separator and other numeric symbols are formatted and displayed based on culture

Culture-aware Classes  CompareInfo Provides a set of methods that can be used to perfomr culture-sensitive string comparisons The CultureInfo class has a CompareInfo property that is an instance of the CompareInfo class The String.Compare method uses the information in the CultureInfo.CompareInfo property to compare strings

Unicode support  Unicode everywhere Unicode internally UTF-8 and UTF-16 encoding classes  String operations Surrogates & Combining characters support  Character type information Based on Unicode 3.0 tables Unicode category enumeration  CultureInfo data  Caveats OS dependent operations  Controls support  File System

ASP.NET And International  ASP.NET delivers improved support for international application development: Can leverage.NET Framework base classes  System.Globalization  System.Text (encodings)  System.Resources Can separate resources from source code Unicode-enabled More options for specifying encoding

ASP.NET setting culture and encoding:  Programmatically Thread.CurrentThread.CurrentCulture =……….  In a Page directive  In a Configuration file (web.config) Per application or per machine <globalization culture=“de-DE” fileEncoding=“utf-8” /> The most specific setting has precedence :  Programmatic overrides Page Directive,  Page Directive overrides Configuration file

ASP.NET Demo

Additional References  Documentation.NET Framework SDK:  Developing World-Ready Applications  Tutorials  Samples Visual Studio :  Visual Studio.NET\Visual Basic and VisualC#\Globalizing and Localizing\Walkthroughs  General info on.NET Framework:  General info on globalization:

Questions ?