Adicionar pacotes de idiomas a uma imagem de várias sessões do Windows 10

A Área de Trabalho Virtual do Azure é um serviço que seus usuários podem implantar a qualquer momento, em qualquer lugar. É por isso que é importante que os usuários possam personalizar o idioma exibido pela imagem de várias sessões do Windows 10 Enterprise.

Há duas maneiras de acomodar as necessidades linguísticas de seus usuários:

  • Crie pools de hosts dedicados com uma imagem personalizada para cada idioma.
  • Tenha usuários com requisitos de idioma e localização diferentes no mesmo pool de hosts, mas personalize suas imagens para garantir que eles possam selecionar o idioma necessário.

Este último método é muito mais eficiente e rentável. No entanto, cabe-lhe a si decidir qual o método que melhor se adequa às suas necessidades. Este artigo irá mostrar-lhe como personalizar idiomas para as suas imagens.

Pré-requisitos

Você precisa das seguintes coisas para personalizar suas imagens de várias sessões do Windows 10 Enterprise para adicionar vários idiomas:

Nota

O compartilhamento de arquivos (repositório) deve estar acessível a partir da VM do Azure que você planeja usar para criar a imagem personalizada.

Criar um repositório de conteúdo para pacotes de idiomas e recursos sob demanda

Para criar o repositório de conteúdo para pacotes de idiomas e FODs e um repositório para os pacotes de aplicativos da caixa de entrada:

  1. Em uma VM do Azure, baixe as imagens ISO multilíngüe, FODs e aplicativos de caixa de entrada do Windows 10 para Windows 10 Enterprise multisessão, versão 1903/1909 e 2004 dos links em Pré-requisitos.

  2. Abra e monte os arquivos ISO na VM.

  3. Vá para o pacote de idiomas ISO e copie o conteúdo das pastas LocalExperiencePacks e x64\langpacks e, em seguida, cole o conteúdo no compartilhamento de arquivos.

  4. Vá para o arquivo ISO FOD, copie todo o seu conteúdo e cole-o no compartilhamento de arquivos.

  5. Vá para a pasta amd64fre no ISO de aplicativos da caixa de entrada e copie o conteúdo no repositório para os aplicativos da caixa de entrada que você preparou.

    Nota

    Se você estiver trabalhando com armazenamento limitado, copie apenas os arquivos para os idiomas que você sabe que seus usuários precisam. Você pode diferenciar os arquivos observando os códigos de idioma em seus nomes de arquivo. Por exemplo, o ficheiro francês tem o código "fr-FR" no seu nome. Para obter uma lista completa de códigos de idioma para todos os idiomas disponíveis, consulte Pacotes de idiomas disponíveis para Windows.

    Importante

    Alguns idiomas requerem fontes adicionais incluídas em pacotes de satélite que seguem diferentes convenções de nomenclatura. Por exemplo, os nomes de arquivo de fonte japoneses incluem "Jpan".

    Um exemplo dos pacotes de idioma japonês com a marca de idioma

  6. Defina as permissões no compartilhamento do repositório de conteúdo de idioma para que você tenha acesso de leitura da VM que usará para criar a imagem personalizada.

Criar uma imagem personalizada de várias sessões do Windows 10 Enterprise manualmente

Para criar manualmente uma imagem personalizada de várias sessões do Windows 10 Enterprise:

  1. Implante uma VM do Azure e, em seguida, vá para a Galeria do Azure e selecione a versão atual do Windows 10 Enterprise com várias sessões que você está usando.

  2. Depois de implantar a VM, conecte-se a ela usando RDP como administrador local.

  3. Certifique-se de que a sua VM tem todas as atualizações mais recentes do Windows. Baixe as atualizações e reinicie a VM, se necessário.

    Importante

    Depois de instalar um pacote de idiomas, você precisa reinstalar a atualização cumulativa mais recente instalada na imagem. Se não reinstalar a atualização cumulativa mais recente, poderá encontrar erros. Se a atualização cumulativa mais recente já estiver instalada, o Windows Update não a oferecerá novamente; você tem que reinstalá-lo manualmente. Para obter mais informações, consulte Visão geral de idiomas.

  4. Conecte-se ao pacote de idiomas, FOD e repositório de compartilhamento de arquivos de aplicativos de caixa de entrada e monte-o em uma unidade de letra (por exemplo, unidade E).

Criar automaticamente uma imagem personalizada de várias sessões do Windows 10 Enterprise

Se preferir instalar idiomas por meio de um processo automatizado, você pode configurar um script no PowerShell. Você pode usar o exemplo de script a seguir para instalar os pacotes de idiomas espanhol (Espanha), francês (França) e chinês (RPC) e pacotes satélite para Windows 10 Enterprise multi-sessão, versão 2004. O script integra o language interface pack e todos os pacotes de satélite necessários na imagem. No entanto, você também pode modificar esse script para instalar outros idiomas. Apenas certifique-se de executar o script a partir de uma sessão elevada do PowerShell, caso contrário, ele não funcionará.

########################################################
## Add Languages to running Windows Image for Capture ##
########################################################

##Disable Language Pack Cleanup##
Disable-ScheduledTask -TaskPath "\Microsoft\Windows\AppxDeploymentClient\" -TaskName "Pre-staged app cleanup"

##Set Language Pack Content Stores##
[string]$LIPContent = "E:"

##Spanish##
Add-AppProvisionedPackage -Online -PackagePath $LIPContent\es-es\LanguageExperiencePack.es-es.Neutral.appx -LicensePath $LIPContent\es-es\License.xml
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Client-Language-Pack_x64_es-es.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Basic-es-es-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Handwriting-es-es-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-OCR-es-es-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Speech-es-es-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-TextToSpeech-es-es-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~es-es~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64~es-es~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~amd64~es-es~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Notepad-FoD-Package~31bf3856ad364e35~amd64~es-es~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-PowerShell-ISE-FOD-Package~31bf3856ad364e35~amd64~es-es~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Printing-WFS-FoD-Package~31bf3856ad364e35~amd64~es-es~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-StepsRecorder-Package~31bf3856ad364e35~amd64~es-es~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-WordPad-FoD-Package~31bf3856ad364e35~amd64~es-es~.cab
$LanguageList = Get-WinUserLanguageList
$LanguageList.Add("es-es")
Set-WinUserLanguageList $LanguageList -force

##French##
Add-AppProvisionedPackage -Online -PackagePath $LIPContent\fr-fr\LanguageExperiencePack.fr-fr.Neutral.appx -LicensePath $LIPContent\fr-fr\License.xml
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Client-Language-Pack_x64_fr-fr.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Basic-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Handwriting-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-OCR-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Speech-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-TextToSpeech-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~fr-fr~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64~fr-FR~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~amd64~fr-FR~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Notepad-FoD-Package~31bf3856ad364e35~amd64~fr-FR~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-PowerShell-ISE-FOD-Package~31bf3856ad364e35~amd64~fr-FR~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Printing-WFS-FoD-Package~31bf3856ad364e35~amd64~fr-FR~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-StepsRecorder-Package~31bf3856ad364e35~amd64~fr-FR~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-WordPad-FoD-Package~31bf3856ad364e35~amd64~fr-FR~.cab
$LanguageList = Get-WinUserLanguageList
$LanguageList.Add("fr-fr")
Set-WinUserLanguageList $LanguageList -force

##Chinese(PRC)##
Add-AppProvisionedPackage -Online -PackagePath $LIPContent\zh-cn\LanguageExperiencePack.zh-cn.Neutral.appx -LicensePath $LIPContent\zh-cn\License.xml
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Client-Language-Pack_x64_zh-cn.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Basic-zh-cn-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Fonts-Hans-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Handwriting-zh-cn-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-OCR-zh-cn-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Speech-zh-cn-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-TextToSpeech-zh-cn-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~zh-cn~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64~zh-cn~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~amd64~zh-cn~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Notepad-FoD-Package~31bf3856ad364e35~amd64~zh-cn~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-PowerShell-ISE-FOD-Package~31bf3856ad364e35~amd64~zh-cn~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Printing-WFS-FoD-Package~31bf3856ad364e35~amd64~zh-cn~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-StepsRecorder-Package~31bf3856ad364e35~amd64~zh-cn~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-WordPad-FoD-Package~31bf3856ad364e35~amd64~zh-cn~.cab
$LanguageList = Get-WinUserLanguageList
$LanguageList.Add("zh-cn")
Set-WinUserLanguageList $LanguageList -force

O script pode demorar um pouco, dependendo do número de idiomas que você precisa instalar.

Quando o script terminar de ser executado, verifique se os pacotes de idiomas foram instalados corretamente, indo para Iniciar>configurações>Hora & Idioma do idioma.> Se os arquivos de idioma estiverem lá, você está pronto.

Depois de adicionar idiomas adicionais à imagem do Windows, os aplicativos da caixa de entrada também precisam ser atualizados para oferecer suporte aos idiomas adicionados. Isso pode ser feito atualizando os aplicativos pré-instalados com o conteúdo do ISO dos aplicativos da caixa de entrada. Para executar essa atualização em um ambiente onde a VM não tem acesso à Internet, você pode usar o seguinte modelo de script do PowerShell para automatizar o processo e atualizar apenas as versões instaladas dos aplicativos da caixa de entrada.

#########################################
## Update Inbox Apps for Multi Language##
#########################################
##Set Inbox App Package Content Stores##
[string] $AppsContent = "F:\"

##Update installed Inbox Store Apps##
foreach ($App in (Get-AppxProvisionedPackage -Online)) {
	$AppPath = $AppsContent + $App.DisplayName + '_' + $App.PublisherId
	Write-Host "Handling $AppPath"
	$licFile = Get-Item $AppPath*.xml
	if ($licFile.Count) {
		$lic = $true
		$licFilePath = $licFile.FullName
	} else {
		$lic = $false
	}
	$appxFile = Get-Item $AppPath*.appx*
	if ($appxFile.Count) {
		$appxFilePath = $appxFile.FullName
		if ($lic) {
			Add-AppxProvisionedPackage -Online -PackagePath $appxFilePath -LicensePath $licFilePath 
		} else {
			Add-AppxProvisionedPackage -Online -PackagePath $appxFilePath -skiplicense
		}
	}
}

Importante

Os aplicativos da caixa de entrada incluídos no ISO não são as versões mais recentes dos aplicativos pré-instalados do Windows. Para obter a versão mais recente de todas as aplicações, tem de atualizar as aplicações utilizando a Aplicação da Loja Windows e efetuar uma pesquisa manual de atualizações depois de instalar os idiomas adicionais.

Quando terminar, certifique-se de desconectar o compartilhamento.

Termine de personalizar a sua imagem

Depois de instalar os pacotes de idiomas, você pode instalar qualquer outro software que queira adicionar à sua imagem personalizada.

Quando terminar de personalizar sua imagem, você precisará executar a ferramenta de preparação do sistema (sysprep).

Para executar o sysprep:

  1. Abra um prompt de comando elevado e execute o seguinte comando para generalizar a imagem:

    C:\Windows\System32\Sysprep\sysprep.exe /oobe /generalize /shutdown
    
  2. Pare a VM e capture-a em uma imagem gerenciada seguindo as instruções em Criar uma imagem gerenciada de uma VM generalizada no Azure.

  3. Agora você pode usar a imagem personalizada para implantar um pool de hosts da Área de Trabalho Virtual do Azure. Para saber como implantar um pool de hosts, consulte Tutorial: Criar um pool de hosts com o portal do Azure.

Ativar idiomas na aplicação de definições do Windows

Finalmente, depois de implantar o pool de hosts, você precisará adicionar o idioma à lista de idiomas de cada usuário para que eles possam selecionar seu idioma preferido no menu Configurações.

Para garantir que os usuários possam selecionar os idiomas instalados, entre como usuário e execute o seguinte cmdlet do PowerShell para adicionar os pacotes de idiomas instalados ao menu Idiomas. Você também pode configurar esse script como uma tarefa automatizada ou script de logon que é ativado quando o usuário entra em sua sessão.

$LanguageList = Get-WinUserLanguageList
$LanguageList.Add("es-es")
$LanguageList.Add("fr-fr")
$LanguageList.Add("zh-cn")
Set-WinUserLanguageList $LanguageList -force

Depois que um usuário alterar suas configurações de idioma, ele precisará sair da sessão da Área de Trabalho Virtual do Azure e entrar novamente para que as alterações entrem em vigor.

Próximos passos

Se estiver curioso sobre problemas conhecidos de pacotes de idiomas, consulte Adicionar pacotes de idiomas no Windows 10, versão 1803 e versões posteriores: problemas conhecidos.

Se tiver outras perguntas sobre o Windows 10 Enterprise em várias sessões, consulte as nossas Perguntas frequentes.