11
Localization Framework

Localization framework

Embed Size (px)

DESCRIPTION

Lets find out what is localization, globalization and internationalization in .NET and how it works. Will peep into the Application directory as well as Resource file usage.

Citation preview

Page 1: Localization framework

Localization Framework

Page 2: Localization framework

Localization, Internationalization & Globalization

.NET Package For You

System.Globalization

System.Globalization.CultureInfo

Aplication Directory

Fallback Mechanism of Resource

Implementation

Agenda

Page 3: Localization framework

Localization, Internationalization & Globalization

• Localization

• Making your application support a specific language/locale.

• Internationalization

• Making your application able to support a range of languages and locales

• Globalization 

• The combination of Internationalization and Localization

• Language & Locale

Language Locale

Page 4: Localization framework

.NET Package For You

I/O

Reflection

Net

Globalization TextResources

Collections

Diagnostics

Serialization

Security

Threading

ServiceProcess

• System.Globalization

Core Locale services (Date/Time, Currency, Language Processing etc.)

• System.ResourceMulti-Lingual Resource Services

• System.TextCore character conversion Services. (To/From Unicode)

Page 5: Localization framework

System.Globalization

• Culture-aware String Services

• Casing, Comparison, Collation, Segmentation, Enumeration etc.

• Date-Time Formatting

• dd/mm/yy, mm/dd/yyyy etc.

• Numeric Formatting

• 12,000,000 and 12.000.000

• Calendar Support

• Gregorian, non-gregorian

Page 6: Localization framework

System.Globalization.CultureInfo

CultureInfo

CurrentUICulture

CurrentCulture

• Information about specific cultures i.e

<LanguageCode>-<RegionCode>

en-US es-ES fr-FR

CurrentUICulture : meant to cover the localization (a.k.a. localisation, a.k.a. translation) of Windows into other languages.

CurrentCulture : allows a user to take any language version of Windows (even if it is not their native language) and see defaults for date formats and number formats and order of text in sorted lists that make sense to them.

Page 7: Localization framework

Application Directory

en-US

en-UK

en-CA

en-ES

Root .NET Application

en

ja

Application DirectoryApplication Directory

Thread.CurrentThread.CurrentUICulture = new CultureInfo(“en");

Page 8: Localization framework

Application Directory (Contd.)

Thread.CurrentThread.CurrentUICulture = new CultureInfo(“en-CA");

en-US

en-UK

en-CA

es-ES

Root .NET Application

en

ja

Application DirectoryApplication Directory

Page 9: Localization framework

Fallback mechanism used to locate appropriate resources

•Attempt to load “en-CA” resource assemble

•If not available, load “en” assembly

•If not available, load default application resources

•Else raise an exception

ResourceResource FallbackFallback MechanismMechanism

33Root .NET

Application

22 en en

en-US en-US

en-UK en-UK

en-CA en-CA11

ja ja

Resource Fallback Mechanism

Page 10: Localization framework

CompilationCompilation ProcessProcess

.resx file .resx file

.resource file .resource file

.resource.dll file .resource.dll file

• Resources are defined in XML documents

– RESX Files• Filenames are significant

– Resource.en-US.resx– Resource.en-UK.resx– Resource.en-CA.resx

• Satellite Assemblies– For each language variant

Resource.en-US.resxResource.en-US.resx

Resource.en-CA.resxResource.en-CA.resx

Page 11: Localization framework

How we implement Localization?

Localization ProcessLocalization Process