Multilíngue – Xamarin.Forms

Olá, neste post irei demonstrar como você pode deixar a sua aplicação Xamarin.Forms Multilíngue, respeitando o idioma padrão definido nas configurações do dispositivo.

 

ADICIONANDO O NUGET PACKAGE

Para este exemplo irei utilizar o Nuget Package “Plugin.Multilingual“, para adicionar em seu projeto, clique com o botão direito em cima de sua Solution e selecione “Manage NuGet Packages for Solution…”

nuget

 

 

Digite “Plugin.Multilingual” e selecione o plugin como demonstrado na imagem a seguir.

1

 

Selecione todos os projetos e clique no botão “Install”.

1

TranslateExtension

Após a instalação do nuget, é possivel observar que uma pasta chamada “Helpers” foi criada, contendo um arquivo chamado “TranslateExtension.txt”, é necessário que esse arquivo seja uma classe.

2

 

Para isso, renomeie o arquivo, modificando a sua extensão para “.cs”, como demonstrado na imagem a seguir:3

AppResources

O passo seguinte é adicionar os arquivos Resources em seu projeto Portable, para isso clique com o botão direito em cima do seu projeto Portable, selecione “add” e na sequência “New Item…”.

4

 

Os arquivos de Resources, possuem a extensão “.resx”, porém não temos essa opção de arquivo, mas isso não será problema, selecione “Text File” e na hora de nomear o arquivo, mude a extensão para “.resx”, como demonstrado a seguir:

5

 

O arquivo AppResources.resx servirá como como um “dicionário” para o app, você terá que adicionar um para cada idioma que desejar, nele irá conter basicamente 3 campos, sendo eles:

Name – Nome dado para o seu texto, esse nome terá que ser o mesmo em todos os arquivos “.resx”.

Value – Esse campo será o texto em si, de acordo com o idioma desejado. Esse campo deverá ser diferente de acordo com cada arquivo “.resx”, respeitando o idioma.

Coment – Campo para adicionar algum comentário, esse campo não é obrigatório.

7

Definindo o idioma padrão.

Para definir quais idiomas a sua aplicação irá suportar, escolha primeiro o idioma padrão, os textos com o idioma padrão deverá ficar no arquivo “AppResources.resx”, caso algum usuário utilize em um dispositivo com um idioma que a sua aplicação não preste suporte, o app irá utilizar o idioma padrão, ou seja, o arquivo “AppResources.resx”.

Para este exemplo defini como idioma padrão o inglês, e adicionei uma mensagem de bem-vindo.

8

Português 

Adicione outro arquivo “.resx”, porém com o seguinte nome: “AppResources.pt-BR.resx”, adicione novamente a mensagem “WelcomeMessage”, porém no campo “Value” informe “Bem-vindo”, como demonstrado a seguir:

9

Francês

Adicione outro arquivo “.resx”, porém com o seguinte nome: “AppResources.fr.resx”, adicione novamente a mensagem “WelcomeMessage”, porém no campo “Value” informe “Bienvenue”, como demonstrado a seguir:

10

 App.cs

Adicione as informações de cultura definida no dispositivo para o AppResources.

 

 

Xaml

No arquivo xaml, referencie o namespace “Helpers” e adicione uma Label, na propriedade Text da label, adicione WelcomeMessage , como demonstrado a seguir:

Resultado

Inglês

screenshot-1510660074302

 

Português

screenshot-1510660150482

 

Francês

screenshot-1510660207951

 

 

Esse e todos os exemplos deste blog encontram-se disponíveis no GitHub.

icongithub

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s