.NET - POO - C# .NET - Aula 06 - Globalização

16
.NET – POO – C# .NET

description

Nesta apresentação o aluno terá oportunidade de conhecer os recursos da API de globalização encontrada no .NET Framework.

Transcript of .NET - POO - C# .NET - Aula 06 - Globalização

Page 1: .NET - POO - C# .NET - Aula 06 - Globalização

.NET – POO – C# .NET

Page 2: .NET - POO - C# .NET - Aula 06 - Globalização

• Objetivo• Visão Geral • Usando Informações de Cultura• Criando Cultura Customizada• Conclusão

Page 3: .NET - POO - C# .NET - Aula 06 - Globalização

Capacitar o aluno no uso dos recursos de Globalização

oferecidos pela plataforma .NET.

Page 4: .NET - POO - C# .NET - Aula 06 - Globalização

O escopo geográfico de aplicações continua crescendo;

Os custos de não conhecer quem estará usando as

aplicação está crescendo muito;

Construir aplicações para diferentes localizações não há

mais diferença;

O .NET Framework provê o namespace

System.Globalization para ajudar os desenvolvedores

endereçar estes conceitos.

Page 5: .NET - POO - C# .NET - Aula 06 - Globalização

O uso da classe CultureInfo:

▪ É uma das ferramentas para manipulação e recuperação de informação

sobre o contexto cultural;

▪ Provê informação de cultura específica com o formatação de números e

datas, e convenções de caso (case);

▪ Mais comumente, representa os seguintes aspectos de uma cultura:

▪ O nome da cultura;

▪ O sistema de escrita da cultura;

▪ O calendário da cultura;

▪ A língua e sub-línguas da cultura (se aplicável);

▪ O país e a região da cultura; e

▪ O provimento de método para manipulação de todos estes aspectos.

Page 6: .NET - POO - C# .NET - Aula 06 - Globalização

Como obter informações sobre a cultura atual?

CultureInfo culture = Thread.CurrentThread.CurrentCulture;

Console.WriteLine(“Nome: " + culture.Name);

Console.WriteLine(“Nome Exibição: " + culture.DisplayName);

Console.WriteLine(“Nome Nativo: " + culture.NativeName);

Console.WriteLine(“Identificador ISO: " +

culture.TwoLetterISOLanguageName);

Page 7: .NET - POO - C# .NET - Aula 06 - Globalização

Enumerado CultureTypes

Page 8: .NET - POO - C# .NET - Aula 06 - Globalização

Como listar as culturas disponíveis dado o enumerado

informado?

foreach(CultureInfo usersCulture in CultureInfo.GetCultures(CultureTypes.

SpecificCultures))

{

Console.WriteLine(“Cultura: " + usersCulture.Name);

}

Page 9: .NET - POO - C# .NET - Aula 06 - Globalização

Usando a classe RegionInfo//Obtenho a cultura atual

CultureInfo usersCulture = Thread.CurrentThread.CurrentCulture;

//Crio a instância de um “região”

RegionInfo demoRegion = new RegionInfo(userCulture.LCID);

//Obtenho as informações daquela região

Console.WriteLine("English Name: " + demoRegion.EnglishName);

Console.WriteLine("Display Name: " + demoRegion.DisplayName);

Console.WriteLine("Currency Symbol: " + demoRegion.CurrencySymbol);

Page 10: .NET - POO - C# .NET - Aula 06 - Globalização

Usando a classe DateTimeFormatInfo//Cria uma informação de cultura

CultureInfo usersCulture = new CultureInfo("es-VE");

String[] days = usersCulture.DateTimeFormat.DayNames;

//Para cada dia

foreach (string day in Days)

{

Console.WriteLine(“Nome do Dia na Venezuela (Espanhol): " + day);

}

Page 11: .NET - POO - C# .NET - Aula 06 - Globalização

Usando a classe NumberFormatInfo//Cria uma informação de cultura

CultureInfo usersCulture = new CultureInfo("es-VE");

Console.WriteLine(“Símbolo de Moeda: " +

usersCulture.NumberFormat.CurrentSymbol);

Console.WriteLine(“Símbolo de Número Decimal: " +

usersCulture.NumberFormat.NumberDecimalSeparator);

Page 12: .NET - POO - C# .NET - Aula 06 - Globalização

Há vezes que as culturas existentes providas pelo .NET Framework

não serão suficientes para suas necessidades;

O Framework provê um mecanismo para resolver este problema;

Neste caso deveremos utilizar a classe

CultureInfoAndRegionBuilder que possibilita você criar e usar uma

cultura customizada.

Page 13: .NET - POO - C# .NET - Aula 06 - Globalização

Usando a classe CultureAndRegionInfoBuilder

CultureInfo usCultureInfo = new CultureInfo("en-US");

RegionInfo usRegionInfo = new RegionInfo("US");

CultureAndRegionInfoBuilder demoBuilder = new

CultureAndRegionInfoBuilder("en-US-Microsoft",

CultureAndRegionInfoModifiers.None);

demoBuilder.LoadDataFromCultureInfo(usCultureInfo);

demoBuilder.LoadDataFromRegionInfo(usReginoInfo);

Page 14: .NET - POO - C# .NET - Aula 06 - Globalização

Enumerado CultureAndRegionModifiers

Page 15: .NET - POO - C# .NET - Aula 06 - Globalização

O .NET Framework provê o namespace System.Globalization

para dar às aplicações a habilidade para executar similarmente

múltiplas localizações;

A classe NumberFormatInfo provê um mecanismo para recuperar e

manipular formatação de número e moeda;

A classe DateTimeFormatInfo provê um mecanismo para recuperar

e manipular formatação de data e hora;

Para efetivamente implementar a globalização, os dados precisam

ser formatados ao invés de realizarmos de forma hard-coded.

Page 16: .NET - POO - C# .NET - Aula 06 - Globalização

.NET – POO – C# .NET