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

2 comentários em “Multilíngue – Xamarin.Forms

    1. Olá Renan,

      Não sei se entendi a sua pergunta direito, mas a ideia desse plugin é montar um “dicionário de textos” para utilizar de acordo com a língua especificada. Acredito não ser possível com esse plugin manipular textos de uma imagem.

      Curtir

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 )

Foto do Google+

Você está comentando utilizando sua conta Google+. 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 )

w

Conectando a %s