Diretrizes de globalizaçãoGuidelines for globalization

Projete e desenvolva seu app de forma que ele funciona corretamente em sistemas com diferentes configurações de idioma e cultura.Design and develop your app in such a way that it functions appropriately on systems with different language and culture configurations. Use APIs Globalização para formatar dados; e evite suposições no seu código sobre idioma, região, classificação de caractere, sistema de escrita, formatação de data/hora, números, moedas, espessuras e regras de classificação.Use Globalization APIs to format data; and avoid assumptions in your code about language, region, character classification, writing system, date/time formatting, numbers, currencies, weights, and sorting rules.

RecomendaçãoRecommendation DescriçãoDescription
Leve a cultura em consideração ao manipular e comparar cadeias de caracteres.Take culture into account when manipulating and comparing strings. Por exemplo, não altere a ocorrência de cadeias de caracteres antes de compará-las.For example, don't change the case of strings before comparing them. Consulte Recomendações para o uso de cadeias de caracteres.See Recommendations for String Usage.
Ao agrupar (ordenar) cadeias de caracteres e outros dados, não pressuponha que eles estejam sempre em ordem alfabética.When collating (sorting) strings and other data, don't assume that it's is always done alphabetically. Para idiomas que não são latinos, o agrupamento é baseado em fatores como pronúncia ou número de traços de caneta.For languages that don't use Latin script, collation is based on factors such as pronunciation, or number of pen strokes. Mesmo os idiomas que são latinos, nem sempre usam a classificação em ordem alfabética.Even languages that do use Latin script don't always use alphabetic sorting. Por exemplo, em algumas culturas, um catálogo telefônico talvez não seja classificado em ordem alfabética.For example, in some cultures, a phone book might not be sorted alphabetically. O Windows 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.Windows can handle sorting for you, but if you create your own sorting algorithm then be sure to take into account the sorting methods used in your target markets.
Formate adequadamente números, datas, horas, endereços e números de telefone.Appropriately format numbers, dates, times, addresses, and phone numbers. Esses formatos variam entre culturas, regiões, idiomas e mercados.These formats vary between cultures, regions, languages, and markets. Se você estiver exibindo esses datas, use APIs Globalization para obter o formato apropriado para uma audiência específica.If you're displaying these data then use Globalization APIs to get the format appropriate for a particular audience. Consulte Globalize seus formatos data/hora/número.See Globalize your date/time/number formats. A ordem na qual os nomes e sobrenomes são exibidos, bem como o formato dos endereços, também pode variar.The order in which family and given names are displayed, and the format of addresses, can differ as well. Use exibições padrão de data, hora e número.Use standard date, time, and number displays. Use controles de seletor de data e hora padrão.Use standard date and time picker controls. Use informações de endereço padrão.Use standard address information.
Ofereça suporte às unidades de medidas e moedas internacionais.Support international units of measurement and currency. Diferentes unidades e escalas são usadas em diferentes países, embora as mais populares sejam o sistema métrico e o sistema imperial.Different units and scales are used in different countries, although the most popular are the metric system and the imperial system. Ofereça suporte à medição de sistema correta se você lidar com medidas como extensão, temperatura e área.Be sure to support the correct system measurement if you deal with measurements such as length, temperature, and area. Use a propriedade GeographicRegion.CurrenciesInUse para obter o conjunto de moedas em uso em uma região.Use the GeographicRegion.CurrenciesInUse property to get the set of currencies in use in a region.
Use Unicode para a codificação de caracteres.Use Unicode for character encoding. Por padrão, o Microsoft Visual Studio usa a codificação de caracteres Unicode para todos os documentos.By default, Microsoft Visual Studio uses Unicode character encoding for all documents. Se você estiver usando um editor diferente, assegure-se de salvar os arquivos de origem nas codificações de caracteres do Unicode adequadas.If you're using a different editor, be sure to save source files in the appropriate Unicode character encodings. Todas as APIs do Windows Runtime retornarão cadeias de caracteres codificadas UTF-16.All Windows Runtime APIs return UTF-16 encoded strings.
Permita tamanhos internacionais de papel.Support international paper sizes. 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.The most common paper sizes differ between countries, so if you include features that depend on paper size, such as printing, be sure to support and test common international sizes.
Registre o idioma do teclado ou IME.Record the language of the keyboard or IME. Quando seu app pedir entrada de texto ao usuário, registre a marca do idioma para o layout do teclado ou IME habilitado no momento.When your app asks the user for text input, record the language tag for the currently enabled keyboard layout or Input Method Editor (IME). Isso garante que quando a entrada for exibida posteriormente ela será apresentada ao usuário com a formatação adequada.This ensures that when the input is displayed later it's presented to the user with the appropriate formatting. Use a propriedade Language.CurrentInputMethodLanguageTag para obter o idioma de entrada atual.Use the Language.CurrentInputMethodLanguageTag property to get the current input language.
Não use o idioma para pressupor a região de um usuário, nem a região para pressupor o idioma do usuário.Don't use language to assume a user's region; and don't use region to assume a user's language. Idioma e região são conceitos distintos.Language and region are separate concepts. Um usuário pode falar uma variação regional específica de um idioma, como en-GB para inglês como falado no Reino Unido, mas o usuário pode estar em um país ou região completamente diferente.A user can speak a particular regional variant of a language, like en-GB for English as spoken in the UK, but the user might be in an entirely different country or region. Considere se o app requer conhecimento sobre o idioma do usuário (para texto da interface do usuário, por exemplo) ou região (para licenciamento, por exemplo).Consider whether your app requires knowledge about the user's language (for UI text, for example), or region (for licensing, for example). Para obter mais informações, consulte Entenda os idiomas de perfil do usuário e idiomas de manifesto do app.For more info, see Understand user profile languages and app manifest languages.
As regras para comparar marcas de idioma são não triviais.The rules for comparing language tags are non-trivial. As marcas de idioma BCP-47 são complexas.BCP-47 language tags are complex. 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.There are a number of issues when comparing language tags, including issues with matching script information, legacy tags, and multiple regional variants. O Sistema de Gerenciamento de Recursos no Windows cuida da correspondência para você.The Resource Management System in Windows takes care of matching for you. 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.You can specify a set of resources in any languages, and the system chooses the appropriate one for the user and the app. Consulte Os recursos de app e o Sistemas de Gerenciamento de Recursos e Como o Sistema de Gerenciamento de Recursos faz a correspondência de marcas de idioma.See App resources and the Resource Management System and How the Resource Management System matches language tags.
Crie sua interface do usuário de modo a acomodar tamanhos de texto e tamanhos de fonte diferentes para rótulos e controles de entrada de texto.Design your UI to accommodate different text lengths and font sizes for labels and text input controls. As cadeias de caracteres traduzidas para idiomas diferentes podem variar muito de comprimento, portanto, será necessário que os controles de interface do usuário sejam dimensionados dinamicamente ao conteúdo.Strings translated into different languages can vary greatly in length, so you'll need your UI controls to dynamically size to their content. Caracteres comuns em outros idiomas incluem marcas acima ou abaixo do que é usado normalmente em inglês (como Å ou Ņ).Common characters in other languages include marks above or below what is typically used in English (such as Å or Ņ). Use tamanhos de fonte e alturas de linha padrão para fornecer um espaço vertical adequado.Use the standard font sizes and line heights to provide adequate vertical space. Lembre-se de que as fontes de outros idiomas podem exigir tamanhos de fonte mínimos maiores para permanecerem legíveis.Be aware that fonts for other languages may require larger minimum font sizes to remain legible. Veja as classes no namespace Windows.Globalization.Fonts.See the classes in the Windows.Globalization.Fonts namespace.
Suporte o espelhamento da ordem de leitura.Support the mirroring of reading order. O alinhamento do texto e a ordem de leitura pode ser da esquerda para a direita (como em português, por exemplo), ou da direita para a esquerda (RTL) (como em árabe ou hebraico, por exemplo).Text alignment and reading order can be left to right (as in English, for example), or right to left (RTL) (as in Arabic or Hebrew, for example). 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.If you are localizing your product into languages that use a different reading order than your own, then be sure that the layout of your UI elements supports mirroring. Até itens como botões Voltar, efeitos de transição da interface do usuário e imagens podem ser espelhados.Even items such as back buttons, UI transition effects, and images might need to be mirrored. Para obter mais informações, consulte Ajustar layout e fontes e fornecer suporte a RTL.For more info, see Adjust layout and fonts, and support RTL.
Exiba o texto e as fontes corretamente.Display text and fonts correctly. A fonte ideal, o tamanho da fonte e a direção do texto variam entre diferentes mercados.The ideal font, font size, and direction of text varies between different markets. Para obter mais informações, consulte Ajustar layout e fontes e fornecer suporte a RTL e Fontes internacionais.For more info, see Adjust layout and fonts, and support RTL and International fonts.

APIs importantesImportant APIs

 

ExemplosSamples