Práticas recomendadas para desenvolvimento de aplicativos do mundo

Esta seção descreve as práticas recomendadas a seguir ao desenvolver aplicativos do mundo.

As práticas recomendadas de globalização

  1. Verifique seu aplicativo Unicode internamente.

  2. Usar as classes com reconhecimento de cultura fornecidas pelo System.Globalization o namespace para manipular e formatar dados.

    • Para classificação, use o SortKey classe e o CompareInfo classe.

    • Para comparações de seqüência de caracteres, use o CompareInfo classe.

    • Para a formatação de data e hora, use o DateTimeFormatInfo classe.

    • Para a formatação numérica, use o NumberFormatInfo classe.

    • Para calendários gregoriano e não-gregorianos, use o Calendar classe ou uma das implementações do calendário específico.

  3. Use as configurações de propriedade da cultura fornecidas pelo System.Globalization.CultureInfo classe em situações apropriadas. Use o CultureInfo.CurrentCulture a propriedade de formatação de tarefas, como, por exemplo, data e hora ou formatação numérica. Use o CultureInfo.CurrentUICulture propriedade para recuperar recursos. Observe que o CurrentCulture e CurrentUICulture propriedades podem ser definidas por thread.

  4. Habilitar o aplicativo para ler e gravar dados em uma variedade de codificações usando as classes de codificação no System.Text namespace. Não pressuponha que dados ASCII. Suponha que caracteres internacionais serão fornecidos em qualquer lugar um usuário pode inserir texto. Por exemplo, o aplicativo deve aceitar caracteres internacionais em nomes de servidores, diretórios, nomes de arquivo, nomes de usuário e URLs.

  5. Ao usar o UTF8Encoding classe, por motivos de segurança, use o recurso de detecção de erros oferecido por esta classe. Para ativar o recurso de detecção de erro, o aplicativo cria uma instância da classe usando o construtor que leva um throwOnInvalidBytes parâmetro e define o valor desse parâmetro para true.

  6. Sempre que possível, a alça de strings como seqüências inteiras em vez de como uma série de caracteres individuais. Isso é especialmente importante quando a classificação ou procurando substrings. Isso evitará problemas associados ao analisar caracteres combinados.

  7. Exibir o texto usando as classes fornecidas pela System.Drawing namespace.

  8. Para obter consistência entre sistemas operacionais, não permitir que as configurações de usuário substituir CultureInfo. Use o CultureInfo construtor que aceita um useUserOverride parâmetro e defini-la false.

  9. Teste a funcionalidade de seu aplicativo em versões de sistema de operacional internacionais, utilizando dados internacionais.

  10. Se uma decisão de segurança é baseada no resultado de uma comparação de seqüência de caracteres ou caso alterar operação, ter o aplicativo para executar uma operação de diferenciação de cultura. Essa prática garantirá que o resultado não é afetado pelo valor do CultureInfo.CurrentCulture. Consulte mapeamentos de caso personalizada e regras de classificação para obter um exemplo que demonstra como cultura de seqüência de caracteres comparações podem produzir resultados inconsistentes.

As práticas recomendadas de localização

  1. Mova todos os recursos localizáveis para separar as DLLs de recursos. Recursos localizáveis incluem elementos de interface do usuário, como, por exemplo, seqüências de caracteres, mensagens de erro, caixas de diálogo, menus e recursos do objeto incorporado.

  2. Fazer não codificar seqüências de caracteres ou os recursos de interface do usuário.

  3. Não coloque os recursos nonlocalizable as DLLs de recursos somente. Isso provoca uma confusão para os tradutores.

  4. Fazer não use composto seqüências que são criadas em tempo de execução de frases concatenadas. Composto de seqüências de caracteres são difíceis de localizar porque eles geralmente supõem um pedido de gramatical em inglês que não se aplica a todos os idiomas.

  5. Evite ambíguas construções como, por exemplo, "Esvaziar a pasta" onde as seqüências de caracteres podem ser traduzidas diferente dependendo das funções gramaticais dos componentes da cadeia de caracteres. Por exemplo, "vazio" pode ser um verbo ou um adjetivo, que pode levar a diferentes traduções em linguagens como, por exemplo, italiano ou francês.

  6. Evite usar imagens e ícones que contêm texto em seu aplicativo. Eles são caros traduzir.

  7. Permitir bastante espaço para o comprimento de cadeias de caracteres para expandir na interface do usuário. Em alguns idiomas, frases podem exigir 50-75 por cento que precisam de mais espaço que eles em outros idiomas.

  8. Use o System.Resources.ResourceManager classe para recuperar os recursos com base na cultura.

  9. Use Visual Studio 2010 para criar caixas de diálogo do Windows Forms, que pode ser localizadas, o uso de Editor de recursos de formulários do Windows (Winres.exe). Não código caixas de diálogo do Windows Forms à mão.

  10. Organize-se para a localização de profissional (conversão).

  11. Para obter uma descrição completa de criação e a localização de recursos, consulte recursos em aplicativos.

Globalização de práticas recomendadas para o ASP.NET Applications

  1. Definir explicitamente a CurrentUICulture e CurrentCulture Propriedades em seu aplicativo. Não confie em padrões.

  2. Observe que o ASP.NET é aplicativos gerenciados e, portanto, pode usar as mesmas classes como outros aplicativos gerenciados para recuperar, exibir, e manipular informações com base na cultura.

  3. Lembre-se de que você pode especificar três tipos de codificações no ASP.NET:

    • requestEncoding Especifica a codificação recebidos do navegador do cliente.

    • responseEncoding Especifica a codificação para enviar para o navegador do cliente. Na maioria das situações, essa codificação deve ser a mesma que a especificada para requestEncoding.

    • fileEncoding Especifica a codificação padrão para analisar o arquivo. asax,. asmx e. aspx.

  4. Especifique os valores para os atributos requestEncoding responseEncoding, fileEncoding, culture e uiCulture nos seguintes três locais em um aplicativo ASP.NET aplicativo:

    • Na seção de globalização de um arquivo Web. config. Este arquivo é externo ao ASP.NET Visual Basic. Para obter mais informações, consulte <globalization> Elemento.

    • Em uma diretiva page. Observe que, quando um aplicativo está em uma página, o arquivo já foi lido. Portanto, é muito tarde para especificar fileEncoding e requestEncoding. Apenas uiCulture, cultura e responseEncoding podem ser especificados em uma diretiva page.

    • Programaticamente no código do aplicativo. Essa configuração pode variar por solicitação. Como com uma diretiva de página, no momento o código do aplicativo é alcançado ele é tarde demais para especificar fileEncoding e requestEncoding. Apenas uiCulture, cultura e responseEncoding podem ser especificados no código do aplicativo.

  5. Observe que o valor uiCulture pode ser definido para o navegador aceitar idioma. Para obter detalhes, consulte o ASP.NET QuickStart a amostra de trabalhar com recursos.

Consulte também

Conceitos

Recursos em aplicativos

Outros recursos

Codificação e localização