Localização de aplicativos ClickOnce

 

Para obter a documentação mais recente do Visual Studio 2017 RC, consulte a documentação do Visual Studio 2017 RC.

A localização é o processo de tornar o aplicativo apropriado para uma cultura específica. Esse processo envolve a tradução do texto de interface de usuário para uma linguagem específica da região, usando a data correta e formatação de moedas, ajustando o tamanho dos controles em um formulário, e controles de espelhamento da direita para a esquerda se necessário.

Localizando os resultados de aplicativo na criação de um ou mais assemblies satélite. Cada assembly contém cadeias de caracteres, imagens e outros recursos específicos de uma determinada cultura de interface do usuário. (O arquivo executável principal do aplicativo contém as cadeias de caracteres para a cultura padrão para seu aplicativo.)

Este tópico descreve três maneiras de implantar um ClickOnce para outras culturas:

  • Inclua todos os assemblies satélite em uma única implantação.

  • Gere uma implantação de cada cultura, com um assembly satélite único incluído em cada um.

  • Baixe os assemblies satélite por demanda.

Em vez de publicação de várias ClickOnce implantações, você pode publicar um único ClickOnce implantação que contém todos os assemblies satélite.

Esse método é o padrão no Visual Studio. Para usar este método em Visual Studio, você não precisa fazer qualquer trabalho adicional.

Para usar esse método com MageUI.exe, você deve definir a cultura para seu aplicativo neutro em MageUI.exe. Em seguida, você deve manualmente incluir todos os assemblies satélite em sua implantação. No MageUI.exe, você pode adicionar os assemblies satélite usando o popular botão o arquivos guia de manifesto do aplicativo.

O benefício dessa abordagem é que ele cria uma única implantação e simplifica a sua história de implantação localizada. Em tempo de execução, o assembly satélite adequado será usado, dependendo da cultura padrão do sistema de operacional do Windows do usuário. Uma desvantagem dessa abordagem é que ele baixa todos os assemblies satélite sempre que o aplicativo é instalado ou atualizado em um computador cliente. Se seu aplicativo tiver um grande número de cadeias de caracteres ou seus clientes têm uma conexão de rede lenta, esse processo pode afetar o desempenho durante a atualização do aplicativo.

System_CAPS_ICON_note.jpg Observação

Essa abordagem supõe que seu aplicativo ajusta a altura, a largura e a posição dos controles automaticamente para acomodar tamanhos de cadeias de caracteres de texto diferente em diferentes culturas. Windows Forms contém uma variedade de controles e tecnologias que permitem que você cria um formulário para torná-lo facilmente localizáveis, incluindo o FlowLayoutPanel e TableLayoutPanel controles, bem como o AutoSize propriedade. Consulte também como: localização de suporte no Windows Forms usando AutoSize e o controle TableLayoutPanel.

Essa estratégia de implantação, você pode gerar várias implantações. Em cada implantação incluem somente o assembly satélite necessário para uma cultura específica e marcar a implantação mais específico para aquela cultura.

Para usar este método em Visual Studio, defina o idioma publicar propriedade no publicar guia para a região desejada. Visual Studio incluirá automaticamente o assembly satélite necessário para a região que você seleciona e excluirá todos os outros assemblies satélites da implantação.

Você pode realizar a mesma coisa usando a ferramenta de MageUI.exe no Microsoft Windows Software Development Kit (SDK). Use o popular botão o arquivos guia de manifesto do aplicativo para excluir todos os outros assemblies satélite de diretório do aplicativo e defina o cultura campo o nome guia para o manifesto de implantação em MageUI.exe. Essas etapas incluem não só o assembly satélite correto, mas também definem o language atributo o assemblyIdentity elemento em seu manifesto de implantação para a cultura correspondente.

Depois de publicar o aplicativo, você deve repetir esta etapa para cada cultura adicional suporta seu aplicativo. Certifique-se de que você publique em um diretório diferente do servidor Web ou o diretório de compartilhamento de arquivo todas as vezes, porque cada manifesto de aplicativo fizer referência a um assembly satélite diferentes, e cada manifesto de implantação terá um valor diferente para o language atributo.

Se você decidir incluir todos os assemblies satélite em uma única implantação, você pode melhorar o desempenho por meio de download sob demanda, que permite marcar assemblies como opcional. Os assemblies marcados não serão baixados quando o aplicativo é instalado ou atualizado. Você pode instalar os assemblies quando você precisar deles, chamando o DownloadFileGroup método o ApplicationDeployment classe.

Baixando assemblies satélite por demanda difere ligeiramente baixar outros tipos de assemblies por demanda. Para obter mais informações e códigos de exemplos sobre como habilitar esse cenário usando o SDK do Windows Ferramentas para ClickOnce, consulte Instruções passo a passo: baixando assemblies satélite por demanda com a API de implantação do ClickOnce.

Você também pode habilitar este cenário em Visual Studio. Consulte também passo a passo: baixando Assemblies satélite por demanda com o ClickOnce implantação API usando o Designer ou passo a passo: baixando Assemblies satélite por demanda com o ClickOnce implantação API usando o Designer.

Um assembly satélite será usado se apenas aplicativos do Windows Forms a CurrentUICulture propriedade para o thread principal do aplicativo é definida como a cultura do assembly satélite. Clientes em mercados locais serão provavelmente já estar executando uma versão localizada do Windows com sua cultura definida como o padrão apropriado.

Você tem três opções para testar implantações localizadas antes de fazer seu aplicativo disponível aos clientes:

  • Você pode executar sua ClickOnce aplicativo apropriado às versões localizadas do Windows.

  • Você pode definir o CurrentUICulture propriedade programaticamente no seu aplicativo. (Esta propriedade deve ser definida antes de chamar o Run método.)

Elemento <assemblyIdentity>
Segurança e implantação do ClickOnce
Globalizando o Windows Forms

Mostrar: