O X do Xamarin Forms — Multi Linguagem

Thiago Bertuzzi
3 min readFeb 18, 2022

Fala galera,

Tudo beleza?

Desenvolver apps para diversos países pode ser um desafio na interface pois você precisa fazer com que a linguagem do mesmo fique adaptada.

Porem é bem simples fazer isso com Xamarin.Forms e hoje vou lhes mostrar como.

Bora?

Implementando Multi Linguagem

O segredo da implementação esta nos arquivos .resx :

A ideia é criar um Principal e um para cada linguagem que você quer ter no seu APP.

No meu caso eu criei o principal em Português que seria a linguagem padrão do meu app , um para inglês e outro para Japonês :

Notem que o importante é sempre utilizar a Mesma chave, pois é ela que será utilizada na interface para exibir a linguagem configurada.

Agora vamos criar uma View Inicial bem simples :

Aqui esta a implementação, se notarem no text do label esta {x:Static resource:AppResources.SelecioneLinguagem} referenciado do namespace declarado xmlns:resource=”clr-namespace:XamarinFormsMultiLinguagem.Resources” .

Ao utilizar AppResources ao invés de um texto fixo, ele ira exibir o texto de acordo com a chave passada, nesse caso SelecioneLinguagem.

Por padrão você pode fixar qual a linguagem do seu app, basta fazer isso no App.xaml.cs , no meu caso eu fixei pt-BR:

Uma dica é, se você quiser assumir por padrão o Idioma do aparelho pode utilizar Thread.CurrentThread.CurrentUICulture = CultureInfo.InstalledUICulture;

Perfeito, agora vamos implementar os botões da nossa View para mudar a linguagem e chamar uma tela de boas vindas :

Cada botão selecionado vai alterar a linguagem padrão de nosso APP, isso é feito modificando a linguagem da Thread principal ( Thread.CurrentThread.CurrentUICulture = language;) e selecionando o novo AppResources (AppResources.Culture = language;) que será utilizado.

Vamos implementar a View de Boas Vindas com além da mensagem um botão voltar com o texto dinâmico pela linguagem definida:

Por fim, a implementação do Botão voltar ( que de verdade não volta, cria uma navegação nova, mas serve para o exemplo :) ) :

Agora quando voltarmos a tela inicial o Selecione Linguagem vai estar com o Idioma definido.

Vamos rodar?

Bem tranquilo não ?

Se quiser pode baixar o exemplo clicando aqui.

Também vou deixar dois artigos muito legais da XamGirl do tema de referencia : Multilingual (Localization) Plugin for Xamarin and Windows — XamGirl e Handle Multilingual in Xamarin Forms (Without any plugin) — XamGirl

Quer ver outros artigos sobre Xamarin ? Clique aqui.

Espero ter ajudado!

Aquele abraço!

--

--

Thiago Bertuzzi

Microsoft MVP,Gamer, Desenvolvedor e apaixonado por tecnologia!