.NET - POO - C# .NET - Aula 06 - Globalização
-
Upload
igorborbacom -
Category
Documents
-
view
144 -
download
0
description
Transcript of .NET - POO - C# .NET - Aula 06 - Globalização
.NET – POO – C# .NET
• Objetivo• Visão Geral • Usando Informações de Cultura• Criando Cultura Customizada• Conclusão
Capacitar o aluno no uso dos recursos de Globalização
oferecidos pela plataforma .NET.
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.
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.
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);
Enumerado CultureTypes
Como listar as culturas disponíveis dado o enumerado
informado?
foreach(CultureInfo usersCulture in CultureInfo.GetCultures(CultureTypes.
SpecificCultures))
{
Console.WriteLine(“Cultura: " + usersCulture.Name);
}
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);
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);
}
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);
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.
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);
Enumerado CultureAndRegionModifiers
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.
.NET – POO – C# .NET