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.

Numa fase anterior.. Publicação sobre conversão de texto em voz 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:

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

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

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:

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 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:

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.

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:

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.)

Quando o utilizador confirma a seleção do idioma, a aplicação reinicia em italiano:

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

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:

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.