Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A localização é o processo de tornar seu aplicativo apropriado para uma cultura específica. Esse processo envolve a conversão de texto da interface do usuário para um idioma específico da região, usando a formatação correta de data e moeda, o ajuste do tamanho dos controles em um formulário e o espelhamento de controles da direita para a esquerda, se necessário.
A localização do seu aplicativo resulta na criação de um ou mais assemblies satélites. Cada assembly contém cadeias de caracteres de interface do usuário, imagens e outros recursos específicos para uma determinada cultura. (O arquivo executável principal do aplicativo contém as cadeias de caracteres para a cultura padrão do aplicativo.)
Este tópico descreve três maneiras de implantar um aplicativo ClickOnce para outras culturas:
Inclua todos os assemblies satélites em uma única implantação.
Gere uma implantação para cada cultura, com um único assembly satélite incluído em cada implantação.
Baixe assemblies satélite sob demanda.
Incluindo todos os assemblies satélite em uma implantação
Em vez de publicar várias implantações do ClickOnce, você pode optar por uma única implantação que contenha todos os assemblies satélites.
Esse método é o padrão no Visual Studio. Para usar esse método no Visual Studio, você não precisa fazer nenhum trabalho adicional.
Para usar esse método com MageUI.exe, você deve definir a cultura do aplicativo como neutra em MageUI.exe. Em seguida, você deve incluir manualmente todos os assemblies satélite na sua implantação. No MageUI.exe, você pode adicionar os assemblies satélites utilizando o botão Preencher na guia Arquivos do manifesto do seu aplicativo.
O benefício dessa abordagem é que ela cria uma única implantação e simplifica sua história de implantação localizada. No momento da execução, o assembly satélite apropriado será usado, dependendo da cultura padrão definida do sistema operacional Windows do usuário. Uma desvantagem dessa abordagem é que ela baixa todos os assemblies satélites sempre que o aplicativo é instalado ou atualizado em um computador cliente. Se o aplicativo tiver um grande número de cadeias de caracteres ou os clientes tiverem uma conexão de rede lenta, esse processo poderá afetar o desempenho durante a atualização do aplicativo.
Observação
Essa abordagem pressupõe que seu aplicativo ajuste a altura, a largura e a posição dos controles automaticamente para acomodar diferentes tamanhos de cadeia de caracteres de texto em diferentes culturas. O Windows Forms contém uma variedade de controles e tecnologias que permitem projetar seu formulário para torná-lo facilmente localizável, incluindo os controles FlowLayoutPanel, TableLayoutPanel e a propriedade AutoSize. Veja também como dar suporte à localização em formulários do Windows usando o AutoSize e o controle TableLayoutPanel.
Gerar uma implantação para cada cultura
Nessa estratégia de implantação, você gera várias implantações. Em cada implantação, você inclui apenas o assembly satélite necessário para uma cultura específica e marca a implantação como específica para essa cultura.
Para usar esse método no Visual Studio, defina a propriedade Publicar Idioma na guia Publicar para a região desejada. O Visual Studio incluirá automaticamente o assembly satélite necessário para a região selecionada e excluirá todos os demais assemblies satélite da implantação.
Observação
No ClickOnce para .NET Core 3.1 e .NET 5 ou posterior, você define as propriedades de implantação usando a ferramenta Publicar em vez do assistente de publicação e da página Publicar do Designer de Projeto. Para obter mais informações, consulte Implantar um aplicativo do Windows .NET usando ClickOnce e ClickOnce para .NET.
Você pode realizar a mesma coisa usando a ferramenta MageUI.exe no SDK (Microsoft Windows Software Development Kit). Use o botão Preencher na guia Arquivos do manifesto do aplicativo para excluir todos os outros satellite assemblies do diretório do aplicativo. Depois, defina o campo Cultura na guia Nome para o manifesto de implantação em MageUI.exe. Essas etapas não só incluem o assembly satélite correto, mas também definem o atributo language no elemento assemblyIdentity no manifesto de implantação para a cultura correspondente.
Depois de publicar o aplicativo, você deve repetir essa etapa para cada cultura adicional compatível com o aplicativo. Você deve se certificar de publicar em um diretório de servidor Web diferente ou diretório de compartilhamento de arquivos todas as vezes, pois cada manifesto do aplicativo fará referência a um assembly satélite diferente e cada manifesto de implantação terá um valor diferente para o language atributo.
Baixar assemblies satélites sob demanda
Se você decidir incluir todos os assemblies satélites em uma única implantação, poderá melhorar o desempenho usando o download sob demanda, o que permite marcar assemblies como opcionais. Os assemblies marcados não serão baixados quando o aplicativo for instalado ou atualizado. Você pode instalar os assemblies quando precisar deles chamando o DownloadFileGroup método na ApplicationDeployment classe.
Observação
A ApplicationDeployment classe e as APIs no System.Deployment.Application namespace não são compatíveis com .NET Core e .NET 5 e versões posteriores. No .NET 7, há suporte para um novo método de acesso às propriedades de implantação do aplicativo. Para obter mais informações, consulte as propriedades de implantação do Access ClickOnce no .NET. O .NET 7 não dá suporte ao equivalente aos métodos ApplicationDeployment.
Baixar assemblies satélites sob demanda difere ligeiramente do download de outros tipos de assemblies sob demanda. Para obter mais informações e exemplos de código sobre como habilitar esse cenário usando as ferramentas do SDK do Windows para ClickOnce, consulte Passo a passo: baixar assemblies satélite sob demanda com a API de Implantação do ClickOnce.
Você também pode habilitar esse cenário no Visual Studio. Para obter mais informações, consulte Passo a Passo: Baixando Assemblies Satélites Sob Demanda com a API de Implantação ClickOnce usando o Designer.
Testando aplicativos ClickOnce localizados antes da implantação
Um assembly satélite será usado para um aplicativo do Windows Forms somente se a CurrentUICulture propriedade do thread principal do aplicativo estiver definida como a cultura do assembly satélite. Os clientes em mercados locais provavelmente já estarão 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 disponibilizar seu aplicativo aos clientes:
Você pode executar seu aplicativo ClickOnce nas versões localizadas apropriadas do Windows.
Você pode definir a CurrentUICulture propriedade programaticamente em seu aplicativo. (Essa propriedade deve ser definida antes de você chamar o Run método.)