Ir para o conteúdo
Como lidar com a internacionalização e localização em Angular grades de dados?

Como lidar com a internacionalização e localização em Angular grades de dados?

Você sabe como lidar com internacionalização e localização (l10n) em Angular Data Grids? Leia esta postagem para encontrar trechos de código, explicações e muito mais.

6min read

Quando se trata de criar software que atinja um público global, dois processos essenciais entram em jogo – Internacionalização (i18n) e Localização (l10n). Embora frequentemente usados de forma intercambiável, esses termos se referem a dois processos diferentes.

Neste artigo, abordaremos os fundamentos da internacionalização e localização, fornecendo um exemplo passo a passo da configuração de um aplicativo de Angular localizado, bem como abordagens práticas para usar Ignite UI for Angular para criar grades de dados multilíngues.

So, let’s dive in. 

What Is Internationalization? 

A internacionalização (i18n) é normalmente realizada por desenvolvedores e engenheiros que projetam a base de código para oferecer suporte a vários idiomas e configurações regionais sem ter que fazer uma grande reestruturação para adicionar idiomas posteriormente. O texto voltado para o usuário é substituído por espaços reservados, que o sistema interpreta com base em diferentes configurações para cada idioma. Além disso, o suporte para codificação de caracteres Unicode e sistemas de escrita da esquerda para a direita deve ser planejado.

O que é localização?

A localização personaliza o aplicativo para idioma e cultura específicos. Esse processo inclui a tradução de texto e o ajuste da formatação de dados, como datas, horas, números e moedas, para se adequar às convenções locais. Os especialistas em localização traduzem e adaptam o conteúdo dos componentes para criar uma experiência natural para cada público.

Internacionalização e localização andam de mãos dadas: a internacionalização cria flexibilidade, enquanto a localização a adapta para usuários individuais.

Por que i18n e l10n são importantes?

A internacionalização e a localização são essenciais para qualquer aplicativo voltado para um público global. A maioria dos usuários prefere conteúdo em seu idioma nativo, com formatos familiares para dados. Isso melhora a usabilidade e a experiência do usuário, permitindo que os aplicativos atendam a diversos públicos em diferentes regiões e ajuda uma empresa a se expandir para novos mercados internacionais e crescer.

Internationalization in Angular 

Angular possui recursos integrados de internacionalização (i18n) que facilitam o gerenciamento de aplicativos multilíngues. Ele permite que os desenvolvedores traduzam conteúdo estático e lidem com a formatação baseada em localidade com mais facilidade.

Ativar o i18n em um projeto Angular 

Vejamos o exemplo abaixo para ver como configurar a localização em um aplicativo Angular.

Etapa 1:Configure seu projeto Angular 

Install Angular CLI  

npm install -g @angular/c

Crie um novo projeto Angular:

ng new translation-example --style=css --routing=false --skip-tests 
cd translation-example 

Adicione o pacote de localização:

ng add @angular/localize 

Etapa 2:Prepare seu aplicativo para internacionalização 

Abra angular.json e configure a seção locales em seu projeto. Vamos configurá-lo para coreano e japonês.

"projects": { 
  " translation-example": { 
    "i18n": { 
      "sourceLocale": "en", 
      "locales": { 
        "ko": "src/locale/messages.ko.xlf", 
        "ja": "src/locale/messages.ja.xlf" 
      } 
    },  

Etapa 3:Marcar texto para tradução 

Abra o arquivo src/app/app.component.html e modifique-o para incluir atributos de tradução – a tag i18n:

<h1 i18n="@@helloWorld">Hello World</h1> 

Você também pode estilizar a página como quiser no arquivo .css

Etapa 4:Extrair traduções 

ng extract-i18n 

Esse comando cria um arquivo chamado messages.xlf na pasta src.

Step 5: Create Translation Files 

Create a locale folder in the src directory: mkdir src/locale 

Copie o arquivo messages.xlf para criar traduções para coreano e japonês:

cp messages.xlf src/locale/messages.ko.xlf 
cp messages.xlf src/locale/messages.ja.x

Edite os arquivos para incluir traduções

messages.ko.xlf do Arquivo :

 <trans-unit id="helloWorld" datatype="html"> 
  <source>Hello World</source> 
  <target>안녕하세요 세계</target> 
</trans-unit> 

Etapa 6: Criar o aplicativo com códigos de idioma 

Defina a configuração de produção em angular.json para incluir as configurações de localização

 "configurations": { 
           "production": { 
            "localize": true, 
    … 
    }

run the command: 

ng build --configuration=production --loca

Isso gerará uma compilação separada para cada localidade definida em seu projeto (en, ko, ja), criando pastas específicas do idioma em seu diretório dist. Após a compilação, você deve ver subdiretórios em dist/translation-example

É basicamente isso. Agora, ao executar o aplicativo, você terá as páginas traduzidas em endereços diferentes, simples assim.

internationalization in Angular Grid with Ignite UI

Localization in Angular Grids 

Ao localizar grades de dados em aplicativos Angular, o foco vai além da simples tradução de texto. As grades de dados são normalmente usadas para exibir dados dinâmicos, portanto, a localização deve se adaptar a vários elementos, como formatos numéricos, apresentação de data e hora, símbolos de moeda e opções de classificação e filtragem culturalmente relevantes.

  • A localização de data e hora pode variar significativamente entre as regiões. Por exemplo, o formato MM/DD/AAAA é comum nos EUA, enquanto DD/MM/AAAA é padrão em muitos países europeus ou AAAA/MM/DD na cultura japonesa.
  • A formatação de números, incluindo decimais e milhares de separadores, difere muito entre as localidades. Por exemplo, enquanto os países de língua inglesa costumam usar 1.000,00, outras regiões podem exibi-lo como 1.000,00.
  • Idiomas como árabe e hebraico são lidos da direita para a esquerda, o que pode afetar o layout da grade de dados.
  • A classificação alfabética pode variar de acordo com a localidade devido a conjuntos de caracteres e acentos exclusivos em idiomas como francês ou alemão.

Ignite UI for Angular Grid – Uma grade projetada para alcance global

Ignite UI for Angular Grid fornece recursos internos para dar suporte à localização, permitindo que os desenvolvedores apresentem dados de uma maneira cultural e linguisticamente apropriada para os usuários. Isso inclui formatar datas, números e moedas de acordo com as configurações regionais, o que aprimora a experiência do usuário e a usabilidade do seu aplicativo. O Angular Grid foi projetado para ajudar os desenvolvedores a fornecer experiências de dados localizadas para públicos globais.

Nossa grade oferece cadeias de caracteres de recursos prontas para uso para mais de 20 idiomas, incluindo francês, japonês, espanhol e muito mais. Eles estão disponíveis por meio do pacote igniteui-angular-i18n, exceto para o inglês, que é a localização padrão em igniteui-angular. Ao aproveitar o pacote igniteui-angular-i18n, os desenvolvedores podem carregar e aplicar esses pacotes de idiomas em apenas algumas etapas, criando uma interface personalizada e culturalmente precisa.

Angular Data Grid Localization

Embora o Ignite UI ofereça suporte a uma ampla variedade de idiomas, ele também permite fácil personalização, para que você possa definir seus recursos localizados se um idioma não estiver disponível. Essa flexibilidade garante que a grade se alinhe precisamente com as nuances linguísticas e culturais do seu público.

Com Ignite UI, formatação de data e número, símbolos de moeda e outras representações de dados críticos são localizados automaticamente. Ao importar as cadeias de caracteres de recursos necessárias ou criar pacotes de idiomas personalizados, os desenvolvedores podem aprimorar rapidamente a usabilidade e o apelo de seus aplicativos em escala global.

Explore Ignite UI para obter mais detalhes sobre o i18n e as opções de localização.

Ignite UI for Angular

Solicite uma demonstração