Diretrizes para globalização e localização

Applies to Windows and Windows Phone

Siga essas práticas recomendadas ao globalizar seus aplicativos para um público ou mercado maior e ao localizar seus aplicativos para um mercado específico.

Para saber como adicionar recursos de globalização a seus aplicativos, veja:

O que fazer e o que não fazer

Globalização

Prepare seu aplicativo para adaptar-se a diferentes mercados ao escolher globalmente termos e imagens apropriados para sua interface de usuário, usando APIs Globalization para formatar dados de aplicativos e evitar suposições com base na localização ou idioma.

RecomendaçãoDescrição

Use os formatos corretos para números, datas, horas e números de telefone.

A formatação usada para números, datas, horas e outras formas de dados variam entre culturas, regiões, idiomas e mercados. Se você estiver exibindo números, datas, horas ou outros dados, use APIs Globalization para obter o formato apropriado para uma audiência específica.

Para saber mais, veja Guia de início rápido: usando formatos prontos para uso mundial (aplicativos da Windows Store em JavaScript e HTML) e Guia de início rápido: usando formatos prontos para uso mundial (aplicativos da Windows Store em C#/VB/C++ e XAML).

Permita tamanhos internacionais de papel.

Os tamanhos mais comuns de papel diferem entre os países, portanto se você incluir recursos que dependam do tamanho do papel, como impressão, assegure-se de permitir e testar tamanhos internacionais comuns.

Ofereça suporte às unidades de medidas e moedas internacionais.

Diferentes unidades e escalas são usadas em diferentes países, embora as mais populares sejam o sistema métrico e o sistema imperial. Se você lidar com medições, como extensão, temperatura ou área, obtenha a medição correta do sistema usando o namespace Globalization. Se o seu aplicativo permitir a exibição de moedas, assegure-se de usar a formatação correta. Você também pode obter a moeda para a região geográfica do usuário usando a propriedade CurrenciesInUse.

Exiba o texto e as fontes corretamente.

A fonte ideal, o tamanho da fonte e a direção do texto varia nos diferentes mercados.

Para saber mais, veja Como ajustar o layout para idiomas com leitura da direita para a esquerda e localizar fontes (aplicativos da Windows Store em JavaScript e HTML) ou How to adjust layout and fonts for various languages, and support RTL layouts (Windows Store apps using C#/VB/C++ and XAML).

Use o Unicode para a codificação de caracteres.

Por padrão, as versões recentes do Microsoft Visual Studio usam a codificação de caracteres Unicode para todos os documentos. Se você estiver usando um editor diferente, assegure-se de salvar os arquivos de origem nas codificações de caracteres do Unicode adequadas. Todas as APIs de Tempo de Execução do Windows retornarão cadeias de caracteres codificadas UTF-16.

Registre o idioma de entrada.

Quando o aplicativo solicitar aos usuários entrada de texto, registre o idioma de entrada. Isso assegura que quando a entrada é exibida posteriormente ela é apresentada ao usuário com a formatação adequada. Use a propriedade CurrentInputMethodLanguage para obter o idioma de entrada atual.

Não use o idioma para pressupor a localidade de um usuário, e não use a localidade para pressupor o idioma do usuário.

No Windows, o idioma e a localidade do idioma são conceitos separados. Um usuário pode falar uma variação regional específica de um idioma, como en-gb para inglês como falado na Grã-Bretanha, mas o usuário pode estar em um país ou região completamente diferente. Considere se os aplicativos requerem conhecimento sobre o idioma do usuário, como para o texto da interface do usuário ou localidade, como para problemas de licenciamento.

Para saber mais, veja Como gerenciar o idioma e a região (aplicativos da Windows Store em JavaScript e HTML) ou How to manage language and region (Windows Store apps using C#/VB/C++ and XAML).

Não use coloquialismos e metáforas.

O idioma que é específico para um grupo demográfico, como cultura e idade, pode ser difícil de compreender ou traduzir, porque só as pessoas daquele grupo demográfico usam aquele idioma. Da mesma forma, as metáforas poderiam fazer sentido para uma pessoa, mas não significar nada para outra pessoa. Por exemplo, um "meu" é algo específico da parte de uma cultura local, mas outros que não pertençam àquela cultura podem não entender a expressão. Se você planeja localizar seu aplicativo e usar uma voz ou tom informal, explique adequadamente para os tradutores o significado e a voz a ser usada.

Não use jargão técnico, abreviações ou acrônimos.

É menos provável que a linguagem técnica seja compreendida pelos públicos que não são técnicos ou pessoas de outras culturas ou regiões, além disso, é difícil de traduzir. As pessoas não usam esses tipos de palavras na comunicação cotidiana. A linguagem técnica normalmente aparece em mensagens de erro para identificar problemas de hardware e software. Às vezes, isso pode ser necessário, mas você deve reescrever as cadeias de caracteres para não serem técnicas.

Não use imagens que possam ser ofensivas.

As imagens que podem ser adequadas em sua própria cultura podem ser ofensivas e mal interpretadas em outras culturas. Evite o uso de símbolos religiosos, animais ou combinações de cores que sejam associadas a bandeiras nacionais ou movimentos políticos.

Evite ofensas políticas em mapas ou quando estiver se referindo a regiões.

Os mapas podem incluir regiões controversas ou limites nacionais, e são uma fonte frequente de ofensas políticas. Tome cuidado para que nenhuma interface de usuário usada para selecionar uma nação se refira a ela como um "país/região". Colocar um território em disputa em uma lista rotulada como "Países", como em um formulário de endereço, pode trazer problemas para você.

Não use comparação de cadeia de caracteres em si para comparar marcas de idiomas.

As marcas de idioma BCP-47 são complexas. Há uma série de problemas para comparar marcas de idioma, incluindo problemas para corresponder informações de script, marcas herdadas e diversas variações regionais. O sistema de gerenciamento de recursos no Windows cuida da correspondência para você. Você pode especificar um conjunto de recursos em quaisquer idiomas e o sistema escolhe o idioma adequado para o usuário e para o aplicativo.

Para saber mais sobre gerenciamento de recursos, veja Definindo recursos de aplicativos (aplicativos da Windows Store em JavaScript e HTML) ou Definindo recursos de aplicativos (aplicativos da Windows Store em C#/VB/C++ e XAML).

Não pressuponha que a classificação sempre será em ordem alfabética.

Para idiomas que não são latinos, a classificação é baseada em fatores como pronúncia, número de toques de caneta e outros. Mesmo os idiomas que são latinos, nem sempre usam a classificação em ordem alfabética. Por exemplo, em algumas culturas, um catálogo telefônico talvez não seja classificado em ordem alfabética. O sistema pode cuidar da classificação, mas se você criar seu próprio algoritmo de classificação, assegure-se de levar em conta os métodos de classificação usados em seus mercados de destino.

 

Localização

RecomendaçãoDescrição

Separa recursos como cadeias de caracteres da interface do usuário e imagens do código.

Projete seus aplicativos de forma que os recursos, como cadeias de caracteres e imagens, fiquem separados de seu código. Isso permite que eles sejam mantidos, localizados e personalizados de maneira independente para diferentes fatores de dimensionamento, opções de acessibilidade e uma série de outros contextos de usuários e computadores.

Separe recursos de cadeias de caracteres de seu código de aplicativo para criar uma única base de código independente do idioma. Sempre separe os caracteres do código e da marcação do aplicativo e coloque-os em um arquivo de recursos, como um arquivo ResW ou ResJSON.

Use a infraestrutura de recursos do Windows para manipular a seleção dos recursos mais adequados para corresponder ao ambiente do tempo de execução do usuário. Para saber mais, consulte Guidelines for app resources.

Isole outros arquivos de recursos localizáveis.

Pegue outros arquivos que exijam localização, como imagens que contenham texto a ser traduzido ou que precisem ser modificados devido a uma questão cultural e os coloque em pastas marcadas com nomes de idiomas.

Defina o idioma padrão e marque todos os recursos, mesmo aqueles que estejam no idioma padrão.

Sempre defina o idioma padrão para seus aplicativos adequadamente. O idioma padrão determina o idioma que é usado quando o usuário não fala nenhum dos idiomas aceitos pelo aplicativo. Marque os recursos do idioma padrão, por exemplo pt-br/Logo.png, com seu idioma, assim o sistema pode saber em qual idioma o recurso está e como ele é usado em situações específicas.

Determine os recursos de seu aplicativo que precisam ser localizados.

O que deverá ser modificado se o aplicativo precisar ser localizado para outros mercados? As cadeias de caracteres de texto precisam ser traduzidas para outros idiomas. Talvez seja necessário adaptar as imagens para outras culturas. Considere como a localização afeta outros recursos que seu aplicativo usa, como áudio ou vídeo.

Use os identificadores de recurso no código e marcação para referenciar os recursos.

Em vez de ter literais de cadeia de caracteres ou nomes específicos de arquivos para imagens em sua marcação, use referências para os recursos. Assegure-se de usar identificadores exclusivos para cada recurso. Para saber mais, veja How to name resources using qualifiers (Windows Store apps using C#/VB/C++ and XAML) ou How to name resources using qualifiers (Windows Store apps using JavaScript and HTML).

Habilite o tamanho do texto para ser expandido.

Aloque os buffers de texto dinamicamente, visto que o tamanho do texto pode aumentar quando traduzido. Se você tiver que usar buffers estáticos, os crie bem maiores (talvez dobrando o tamanho da cadeia de caracteres em português) para acomodar a possível expansão das cadeias de caracteres depois de traduzidas. Também pode existir um espaço limitado disponível para uma interface do usuário. Para acomodar os idiomas localizados, assegure-se de que a extensão da cadeia de caracteres fique aproximadamente 40% mais longa do que seria necessário para o idioma português. Para cadeias de caracteres realmente curtas, como uma única palavra, você pode precisar até 300% de espaço a mais. Além disso, habilitar suporte multilinha e quebra de texto em um controle permitirá mais espaço para exibir cada cadeia de caracteres.

Permita espelhamento.

O alinhamento do texto e a ordem de leitura pode ser da esquerda para a direita, como em português, ou da direita para a esquerda (RTL), como em árabe ou hebraico. Se você estiver localizando seu produto em vários idiomas que usem uma ordem de leitura diferente do seu idioma, assegure-se de que o layout dos elementos da interface do usuário permitam espelhamento. Até mesmo itens como botões voltar, efeitos de transição da interface do usuário e imagens podem ser espelhados.

Para saber mais, veja Como ajustar o layout para idiomas com leitura da direita para a esquerda e localizar fontes (aplicativos da Windows Store em JavaScript e HTML) ou How to adjust layout and fonts for various languages, and localize fonts (Windows Store apps using C#/VB/C++ and XAML).

Comente as cadeias de caracteres.

Assegure-se de que as cadeias de caracteres sejam comentadas adequadamente e que somente as cadeias de caracteres que precisam ser localizadas sejam fornecidas para os tradutores. Localização excessiva é uma fonte de problemas comuns.

Use cadeias de caracteres curtas.

Cadeias de caracteres mais curtas são mais fáceis de traduzir e habilitar a reciclagem da tradução. A reciclagem da tradução economiza dinheiro, porque a mesma cadeia de caracteres não é enviada para o tradutor duas vezes.

As cadeias de caracteres com mais de 8192 caracteres podem não ser suportadas pelas mesmas ferramentas de localização, portanto, mantenha seu tamanho em até 4000.

Forneça cadeias de caracteres que contenham uma sentença inteira.

Forneça cadeias de caracteres que contenham uma sentença inteira, em vez de dividir a sentença em palavras, porque a tradução de palavras poderá depender de sua posição em uma sentença. Além disso, não pressuponha que uma frase com vários parâmetros manterá esse parâmetros na mesma ordem em todos os idiomas.

Otimize arquivos de imagem e áudio para localização.

Reduza os custos de localização evitando usar texto em imagens ou fala em arquivos de áudio. Se você estiver localizando para um idioma com ordem de leitura diferente do seu idioma, o uso de imagens simétricas e efeitos facilitam o suporte a espelhamento.

Não reutilize as cadeias de caracteres em diferentes contextos.

Não reutilize cadeias de caracteres em diferentes contextos, porque até mesmos palavras simples como "on" e "off" podem ser traduzidas de formas diferentes, dependendo do contexto.

 

Tópicos relacionados

Para desenvolvedores (HTML)
Windows.Globalization namespace
Globalizando seu aplicativo
Guidelines for app resources
Para desenvolvedores (XAML)
Windows.Globalization namespace
Globalizando seu aplicativo
Guidelines for app resources
Exemplo
Exemplo de recursos e localização de aplicativos
Exemplo de preferências de globalização

 

 

Mostrar:
© 2014 Microsoft