---
title: "Localização multilíngue para aplicações móveis"
date: "2018-02-21"
categories: 
  - "mobile"
  - "software"
  - "tools"
tags: 
  - "mobile"
  - "mobile-development"
  - "multi-language-localization"
  - "software-tools"
description: Descubra como implementar a localização multilíngue em aplicações móveis utilizando o MobileTogether. Aprenda a suportar diferentes idiomas e a melhorar a experiência do utilizador em todas as plataformas.
---
Status: #blog

Tags:  #mobile #mobile-development #multi-language-localization #software-tools

Categories: [mobile-development](/blog/pt/category/mobile-development.md) | [low-code+no-code](/blog/pt/category/low-codeno-code.md)
# Localização multilíngue para aplicações móveis

O MobileTogether oferece suporte para a localização perfeita de aplicações móveis em vários idiomas. Isto permite que os desenvolvedores criem uma única versão de uma aplicação móvel que funcione em vários idiomas e em diversas plataformas.

Os desenvolvedores podem incluir traduções em um único projeto de aplicação MobileTogether, abrangendo todas as frases de texto necessárias. Quando qualquer utilizador executa a aplicação, seja num telemóvel Android, num iPhone, num computador Windows ou em qualquer outra plataforma suportada, a língua da aplicação é selecionada automaticamente para corresponder à língua do sistema operativo do dispositivo.

Com a localização para vários idiomas, até mesmo a funcionalidade de conversão de texto em voz é adaptada à língua materna do utilizador.

![](/blog/images/KS113238_700x335.jpg)

<!--more-->

Numa fase anterior.. [Publicação sobre conversão de texto em voz](https://www.altova.com/blog/text-to-speech-for-mobile-apps/) Para demonstrar a funcionalidade, começámos por criar uma aplicação de demonstração simples. Neste artigo, utilizaremos uma versão melhorada, mostrada abaixo num telemóvel Android, para ilustrar a localização:

[![Aplicação de demonstração multilíngue da MobileTogether para Android](/blog/images/mobiletogether-localization-demo-android.png)](mobiletogether-localization-demo-android.png)

A nossa aplicação de demonstração de localização multilíngue inclui suporte para várias plataformas e para os idiomas inglês, alemão, francês, espanhol e italiano.

As cadeias de texto para cada idioma são atribuídas no diálogo de localização do MobileTogether Designer

[![Diálogo de localização multilíngue do MobileTogether](/blog/images/mobile-together-localization-dialog.png)](mobile-together-localization-dialog.png)

A parte superior da caixa de diálogo permite aos programadores atribuir texto em diferentes idiomas para cada elemento da aplicação: os botões "Falar", "Silenciar" e "Sair", localizados na parte superior da janela da aplicação, são traduzidos nas três primeiras linhas da caixa de diálogo de localização.

Quando a aplicação é iniciada em qualquer dispositivo móvel, o idioma padrão definido nas configurações do sistema operativo do dispositivo determina qual o texto que é exibido para cada elemento de controlo. Se o utilizador estiver a utilizar outro idioma, são utilizados os valores padrão definidos no diálogo de localização.

O botão verde com o sinal de mais, localizado no topo da janela de diálogo, permite ao programador adicionar suporte para idiomas adicionais, a partir de uma lista de códigos de idioma padrão

[![Localização multilíngue para aplicações móveis: adicionar um novo idioma](/blog/images/mobiletogether-add-language.png)](mobiletogether-add-language.png)

O recurso de localização multilíngue do MobileTogether suporta até mesmo idiomas que utilizam alfabetos não latinos, como o azerbaijano em cirílico, listado como "az-Cyrl-AZ" no menu acima, ou o alfabeto japonês Kanji. De facto, todas as aplicações de demonstração instaladas com o MobileTogether estão traduzidas para alemão, francês, espanhol e japonês. A seguir, apresenta-se uma parte da janela de diálogo de localização da aplicação de demonstração "Calculadora de Hipotecas", onde é possível especificar vários textos de rótulos:

[![Localização multilingue com alfabetos não latinos](/blog/images/non-roman-localization.png)](non-roman-localization.png)

A parte inferior da caixa de diálogo de Localização permite aos programadores atribuir texto a cadeias de caracteres nomeadas. Na nossa aplicação de demonstração, estes são frases que serão exibidas em caixas de mensagens e proferidas durante a execução.

Se não for prático para um desenvolvedor traduzir todo o texto necessário numa aplicação grande e complexa, os botões "Exportar" e "Importar", localizados na parte inferior da janela de Localização, permitem gerir textos de localização multilingue em ficheiros XML, fora do ambiente do MobileTogether Designer. Um tradutor ou outro profissional da área da linguagem pode criar ou ajustar textos traduzidos num.. [Editor XML](https://www.altova.com/pt/xmlspy-xml-editor) como o Altova XMLSpy.

Quando a nossa aplicação de demonstração é lançada, um Grupo de Ações atribui as frases localizadas corretas aos nós na estrutura de dados:

[![Localização multilíngue: carregamento de mensagens no idioma do utilizador](/blog/images/localized-message-action-group.png)](localized-message-action-group.png)

Depois de definirem as cadeias de texto para a localização em vários idiomas, podem até mesmo alterar o idioma atribuído durante a simulação para verificar a localização antes de disponibilizarem a aplicação. A opção "Idioma da Simulação" está disponível no menu "Projeto" e os idiomas oferecidos correspondem àqueles definidos no diálogo de Localização para o projeto.

[![Localização multilíngue com execução simulada numa nova língua](/blog/images/simulation-language-menu.png)](simulation-language-menu.png)

Aqui está uma imagem da aplicação de demonstração da calculadora de hipotecas a funcionar na janela do simulador, onde a linguagem de simulação é o japonês e o dispositivo alvo selecionado é um iPhone 6 em orientação vertical:

[![Simulação da execução de aplicações móveis durante a localização para vários idiomas](/blog/images/japanese-simulation.png)](japanese-simulation.png)

**A ação de definir a linguagem**

É possível até mesmo permitir que os utilizadores finais executem a sua aplicação em qualquer idioma para o qual tenha disponibilizado versões traduzidas, sem precisar de alterar as configurações de idioma do sistema operativo do dispositivo. Esta funcionalidade pode ser útil num ambiente de aprendizagem de línguas, ou para aplicações que funcionam em computadores ou tablets partilhados por utilizadores que falam diferentes idiomas.

A nossa aplicação de demonstração de localização multilíngue permite ao utilizador selecionar um novo idioma através de uma caixa de seleção. A aplicação, então, confirma a escolha através de uma janela de mensagem e reinicia-se no novo idioma.

A seguir, apresentamos uma captura de ecrã do aplicativo a funcionar num iPhone. O utilizador abriu a caixa de seleção de idioma e deslocou-se até à opção "Italiano", mas ainda não confirmou a seleção clicando em "Concluído". (Num telemóvel Android, o utilizador bastaria tocar na nova opção.)

[![Localização multilíngue com seleção de idioma pelo utilizador final](/blog/images/user-set-language.png)](user-set-language.png)

Quando o utilizador confirma a seleção do idioma, a aplicação reinicia em italiano:

[![Demonstração de localização multilíngue de uma aplicação móvel, com a interface em italiano](/blog/images/localized-app-running-italian.png)](localized-app-running-italian.png)

O texto do restaurante no campo de edição é traduzido porque se trata de uma das cadeias de texto padrão definidas no diálogo de localização

[![Tradução de mensagens de aplicações móveis para localização em vários idiomas](/blog/images/localized-startup-text.png)](localized-startup-text.png)

O desenvolvedor da aplicação de demonstração pretendia ser cortês e evitar que qualquer utilizador ficasse, por acidente, numa língua desconhecida. Por isso, a alteração da língua envolve várias ações:

![](/blog/images/mobile-app-set-language-actions.png)

Primeiramente, uma ação de "texto para voz" lê uma mensagem de aviso de reinício no idioma da aplicação atual.

Em segundo lugar, é exibida uma caixa de mensagem que contém o mesmo aviso de reinicialização, também no idioma atual, com as opções "OK" ou "Cancelar".

Se o utilizador selecionar "OK", o elemento `userLanguage` é atualizado com o valor selecionado na caixa de combinação, e, em seguida, a ação "Definir Idioma" reinicia a aplicação.

Se o utilizador escolher "Cancelar" em vez de "OK", a seleção da caixa de combinação é restaurada para o idioma atual e a aplicação continua a funcionar sem alterar o idioma, aguardando a próxima interação do utilizador.

Pode experimentar a adaptação das suas próprias aplicações móveis, que funcionam em diferentes plataformas, ao [descarregar o MobileTogether Designer, que é gratuito e inclui ajuda integrada, tutoriais e muitas aplicações de exemplo](https://www.altova.com/pt/download/mobiletogether.html).
