Хотя, в большинстве случав, я предпочитаю использовать английские версии любых продуктов, иногда, чтобы угодить пользователям, приходится задумываться о русификации интерфейса того или иного ПО. В этой статье я покажу, как русифицировать интерфейс Windows Server 2016, установив на него русский пакет локализации (Language Pack). Необходимость русификации интерфейса сервера возникла на одном из терминальных RDS серверов, на котором одно из используемых приложений при отсутствии русского интерфейса Windows, генерировало необходимые отчеты только на английском языке, что крайне неудобно.
Содержание:
- Установка языкового пакета через Windows Update
- Офлайн установка Language Pack с помощью Lpksetup
- Русификация интерфейса Windows Server 2016
Установка языкового пакета через Windows Update
Самый простой вариант установки Language Pack при наличии подключения к Интернету – установить нужный пакет локализации встроенными средствами через сервера Windows Update.
Для этого, откройте панель управления и перейдите в раздел: Control Panel –> Clock, Language and Region -> Language. В открывшемся списке будет перечислен список установленных языков интерфейса Windows.
Нажмите кнопку Add Language, и в открывшемся списке найдите русский язык. Нажмите кнопку Add.
Русский язык появится в списке доступных языков, однако на самом деле он еще не установлен, а лишь доступен к загрузке (статус: Available for download). Откройте свойства языка (Options).
В открывшемся окне можно запустить загрузку и установку пакета русификации для Windows Server 2016, нажав на кнопку Download and install language pack.
Совет. В процесс загрузки файл языкового пакета будет закачан в каталог C:\Windows\SoftwareDistribution. После окончания загрузки, поиском найдите файл lp.cab и скопируйте его в сетевой каталог с вашими любимыми дистрибутивами. В дальнейшем это файл локализации можно устанавливать на любом аналогичном сервере в офлайн режиме (без необходимости подключаться к Windows Update) с помощью утилиты
lpksetup.exe
(о ней далее).
Офлайн установка Language Pack с помощью Lpksetup
На изолированных от внешней сети серверах, установить пакет локализации можно в офлайн режиме с помощью утилиты lpksetup.exe. Но для этого понадобится загруженный файл языкового пакета. Файл lp.cab можно получить как описано выше (забрав с одного из серверов, подключенных к Интернету), либо скачав с сайта Microsoft (это возможность есть у владельцев корпоративной лицензии, подписчиков MSDN и OEM партнеров Microsoft).
В том случае, если вы получили файл локализации, запустите команду
lpksetup
с правами администратора. В открывшемся диалоге нужно выбрать пункт Install display Languages.
Укажите путь к файлу lp.cab (если вы cкачали целиком ISO образ TRL_Win_Svr_Language_Pack, файл русского языкового пакета находится в каталоге ru-ru) и запустите установку, согласившись с лицензионным соглашением.
Утилиту Lpksetup.exe можно использовать и в консольном режиме, так, например, для установки пакета русификации в тихом режиме, нужно воспользоваться командой:
lpksetup /i ru_RU /r /s /p ″F:\langpacks″
(ключ /s – означает установку без взаимодействия с пользователем, ключ /r откладывает перезагрузку системы).
Русификация интерфейса Windows Server 2016
После установки Language pack, статус русского языка в панели управления изменится на Available. Теперь с помощью кнопки Move up его нужно переместить вверх. После логофа, язык интерфейса текущего пользователя сменится на русский.
Для полноценной локализации нужно дополнительно нажать на кнопку Location и сменить местоположение на Russia (если вы этого еще не сделали).
Затем на вкладке Administrative нужно изменить язык системной локали (Change system locale) для программ, не поддерживающих Юникод, на Russia.
Чтобы применить данные настройки для новых учетных записей пользователей (еще не существующих на сервере профилей!!!), нужно нажать на кнопку Copy settings (Копировать параметры).
Укажите, что языковые настройки текущего пользователя нужно применить для новых учетных записей, системной учетной записи и окна приветствия.
На этом русификация интерфейса Windows Server 2016 завершена.
Managing Windows languages and language packs on Windows 10 and Server 2016 can be a bit of a daunting task. This article aims to clarify most issues.
Change Log
01.09.2018: added information on Features on Demand (languages for handwriting, speech, etc.).
27.12.2018: small error correction in the installation directory of language packs (I wrote %SystemDrive% instead of %SystemRoot%). Added clarification that changing the language for Windows Apps, Edge, and Internet Explorer concerns the language displayed within the application and not the language of the application itself.
Table of Contents
- An introduction to language packs
- How to obtain a language pack (for offline deployment)
- Windows Server 2016 Language Pack
- Windows 10 version 1803 Language Pack
- Windows 10 version 1803 Features on Demand
- Adding a language pack to Windows
- Complete installation script
- How to change the Windows display language
- Change the display language manually (Windows Server 2016)
- Change the display language manually (Windows 10)
- Change the display language using Microsoft Group Policy
- Change the display language using a Group Policy Preference item
- Using a logon script
- How to change the display language for Windows Apps and Store, Edge and Internet Explorer
- Manually (Windows Server 2016)
- Manually (Windows 10)
- Group Policy Preference
- Using a logon script
- How to prevent users from changing language settings
- How to change the system code page for non-Unicode programs
An introduction to language packs
A language pack allows you to display Windows in a different language besides English. All windows and menus are displayed in your local language.
This is not the same as configuring local settings such as keyboard layout, date, time, and number formatting. You can configure these locale settings without changing the Windows language. See also some of my other articles:
- Configuring Regional Settings and Windows locales with Group Policy
- Configuring the time zone and code page with Group Policy
As far as I can tell, language packs are available for all editions of Windows 10 and Windows Server 2016. To help you reduce the size of your image, language packs in Windows 10 are split into the following language components and Features On Demand:
- Language (interface) pack
- UI Text (this includes language packs, language interface packs, and WinPE language packs which are all available in one download source)
- Features on Demand (additional language packs)
- Basic (spell check, typing)
- Fonts
- Handwriting (for devices with pen inputs)
- Optical character recognition
- Text-to-speech (required for Cortana)
- Speech (required for Cortana)
- Retail Demo experience
Reference: Language Packs in Windows 10 (microsoft.com)
A language (interface) pack, named UI Text in the above list, changes the display language for the following components:
- The operating system (all text in windows and menus)
- Windows apps and Windows Store
- Internet Explorer
- Edge (applies to Windows 10 only since Windows Server has no Edge)
- WinPE (included in the same download source, but has to be used in a WinPE image)
Additional language packs, the so-called Features on Demand, are available for example for spelling, handwriting and speech recognition (Cortana), and more. These have to be downloaded separately and are available for Windows 10 only. They are NOT included within the source files of a language pack. More details are provided later on in this section.
Besides language packs for the operating system, Microsoft offers language packs for applications such as Microsoft Office. These have to be downloaded separately. The availability of language packs for third-party software depends on the vendor. Acrobat Reader for example supports more than 30 languages. These are not within the scope of this article. In this article, I only deal with language packs and the Features on Demand.
Please be aware that the list of available languages can differ for individual components. For example, the available language packs for Windows and Office do not have to match. The same goes for third-party software. When planning your language strategy you should count on the fact that you will not find all languages for all products.
By default, when you add a language in Windows, only the keyboard layout is added. The actual Windows display language (the language (interface) pack) has to be downloaded separately. The same goes for additional language packs for handwriting, speech, and so forth.
Take a look at the following screenshot. For English and German, the Windows display languages are available (English is currently enabled). For French, however, only the keyboard layout is available, not the Windows display language.
Note: the screenshot above was taken from a Windows Server 2016 version 1607 machine. In Windows 10 version 1803, the menu and windows to manage languages look completely different (see the section Change the display language manually (Windows 10) for more information and screenshots).
Microsoft separates between a language pack (LP) and a language interface pack (LIP). As per Microsoft, a LIP is a “high-quality, localized “skin” for emerging or minority language markets. […] A LIP provides the desktop user with an approximately 80% localized user experience by translating a reduced set of user interface (UI) elements. A LIP […] has a dependency on a base language pack of Windows.
The difference between an LP and a LIP is “the level of localization in comparison to language pack (LP) packages: LIP packages provide the desktop user with the most frequently accessed user interface and basic user assistance support (help files). In addition, a LIP is installed as a language add-on on top of an existing LP with base language dependency (Catalan LIP can only be installed on top of the Spanish or French LP, Welsh LIP can only be installed on top of the English LP). In addition, once a LIP is installed, switching the user interface between the LIP language and the LP base language is possible for users on all versions of Windows.
Also, as per Microsoft, Windows Server and Windows 10 language packs are not interchangeable. Windows Server language packs cannot be used on Windows 10, and Windows 10 language packs cannot be used on Windows Server.
In total, there are 38 language packs available for Windows 10 and Windows Server 2016. In comparison, for Windows Server 2012 R2, only 18 language packs are available.
In total, there are 72 language interface packs (LIPs) available for Windows 10. LIPs are not supported on Windows Server. So keep this in mind when you have both notebooks/desktops and for example Microsoft Remote Desktop Services or Citrix Virtual Apps and Desktops (previously known as XenApp or XenDesktop) in your organization. You may not be able to install the same languages on all your workers!
A language pack is installed in the directory %SystemRoot%\System32\%Language-ID%, so for example C:\Windows\System32\es-ES. The size of a language pack is about 50 MB. In case you want to install all 38 language packs, you increase the size of your image by about 2 GB. Language interface packs only use up around 10 MB of space. Features on Demand are between 5 and 70 MB in size. Most of them are around 10 to 20 MB though.
For a complete list of available LPs and LIPs for Windows Server 2012 R2, Windows 10, and Windows Server 2016 see the Microsoft article Available Language Packs for Windows.
How to obtain a language pack
There are four ways to get a language (interface) pack and the Features on Demand:
- For offline use:
- OEMs and system builders with Microsoft Software License Terms can download language packs and LIPs from the Microsoft OEM site or the OEM Partner Center.
- IT professionals can download language packs from the Microsoft Volume Licensing Site.
- IT professionals can download language packs from Visual Studio Subscriptions (previously MSDN).
- Manually:
- After Windows is installed, end users can download and install additional language packs in Settings > Time & language > Region and language > Add a language (under Options).
Reference: Where to get language packs and LIPs (microsoft.com)
IT professionals require the offline installation sources to be able to deploy the language packs using the software deployment tool of their choice (e.g. MDT, SCCM, Citrix App Layering). To download the language packs I used my Visual Studio Subscription (MSDN). Select one of the links below for more details:
- Windows Server 2016 Language Pack
- Windows 10 version 1803 Language Pack
- Windows 10 version 1803 Features on Demand
Windows Server 2016 Language Pack
The download for Windows Server 2016 Language Pack is a single ISO file (about 2,6 GB in size) that contains all 38 languages. On the Microsoft Volume License Site or on the Microsoft Visual Studio Subscription website, search for language pack and you will find all language packs for all supported operating systems.
To extract the ISO file, use your favorite file archiving tool (e.g. 7-ZIP).
The ISO file for Windows Server 2016 contains two root folders:
- langpacks
- Windows Preinstallation Environment
The folder langpacks contains the language packs that need to be installed on Windows. The language files in the folder Windows Preinstallation Environment are used to localize your WinPE image. Within the folder langpacks, each language has its own subfolder.
These subfolders contain the source files we need for the unattended installation (deployment) of the language packs. The file name for each language pack is:
x64fre_Server_%language%_lp.cab
For example x64fre_Server_de-de_lp.cab
Note: for past operating systems the name of a language pack file was lp.cab. This name is no longer used for Windows 10 and Windows Server 2016, except for the WinPE language packs.
Windows 10 version 1803 Language Pack
The language pack for Windows 10 is also a single ISO file, but much larger (more than 7 GB) compared to the one for Windows Server 2016. The reason for this is that the download for Windows 10 includes more source files. Besides the 38 language packs (LPs) also included in the ISO file for Windows Server 2016, the Windows 10 ISO file also includes 72 language interface packs (LIPs) and includes both 32-bit and 64-bit source files.
On the Microsoft Volume License Site or the Microsoft Visual Studio Subscription website, search for language pack and you will find all language packs for all supported operating systems.
To extract the ISO file, use your favorite file archiving tool (e.g. 7-ZIP).
The folder structure for the Windows 10 language packs is slightly different compared to the one for Windows Server 2016:
- arm64
- Windows Preinstallation Environment
- x64
- x86
Each architecture has its own langpacks folder containing both the language packs and language interface packs. The file name for each language pack is:
Microsoft-Windows-Client-Language-Pack_%architecture%_%language%.cab
For example Microsoft-Windows-Client-Language-Pack_x64_de-de.cab
The file name for each language interface pack is:
Microsoft-Windows-Client-Language-Interface-Pack_%architecture%_%language%.cab
For example Microsoft-Windows-Client-Language-Interface-Pack_x64_ca-es.cab
Note: for past operating systems the name of a language pack file was lp.cab. This name is no longer used for Windows 10 and Windows Server 2016, except for the WinPE language packs.
Windows 10 version 1803 Features on Demand
The Features on Demand consists of two ISO files (between 3,5 and 4,5 GB in size). You can download either the 32-bit or 64-bit source files. For each version of Windows 10, the download consists of two parts (one ISO file per part). The languages for handwriting, speech, etc. are included in Part 1.
On the Microsoft Volume License Site or the Microsoft Visual Studio Subscription website, search for features on demand and you will find the available downloads for all Windows 10 versions.
To obtain the language files you only need to download Part 1.
To extract the ISO file, use your favorite file archiving tool (e.g. 7-ZIP).
Within the folder structure, you find multiple CAB files that represent a Feature on Demand. The name of the CAB files that contain language-specific features starts with Microsoft-Windows-LanguageFeatures. The following categories exist:
- Microsoft-Windows-LanguageFeatures-Basic…..cab
- Microsoft-Windows-LanguageFeatures-Fonts…..cab
- Microsoft-Windows-LanguageFeatures-Handwriting…..cab
- Microsoft-Windows-LanguageFeatures-OCR…..cab
- Microsoft-Windows-LanguageFeatures-Speech…..cab
- Microsoft-Windows-LanguageFeatures-TextToSpeech…..cab
Select the feature(s) in the language(s) that you require. The next section explains how to install (add) a language pack to the operating system.
Adding a language pack to Windows
There are a couple of different ways to install a language (interface) pack:
- You can add a language pack to Windows by using the DISM / Add-WindowsPackage tool. Add-WindowsPackage is the PowerShell equivalent of the DISM executable. How to use DISM / Add-WindowsPackage is described in detail in this article. Just keep on reading. I also recommend you check out the following Microsoft articles on this matter:
- Add and Remove Language Packs on a Running Windows Installation
- Add and Remove Language Packs Offline Using DISM
- To deploy a multilingual version of Windows by using Windows Setup (for example, a corporate image Windows DVD or a set of images available on a corporate network), you can add language resources to the installation program. See Add Multilingual Support to a Windows Distribution. For corporate or network-based deployments, you may also need to update the Windows Preinstallation Environment (Windows PE) that users see when they choose how and where to install Windows to their PC. For more information, see WinPE: Mount and Customize.
- After Windows is installed, end users can download and install additional language packs and LIPs from the Language Control Panel. For more information, see one of the following sections in this article:
- Change the display language manually (Windows Server 2016)
- Change the display language manually (Windows 10)
Reference: Section Add languages to Windows in the article Language Packs (microsoft.com)
My preferred silent installation method is to use DISM or the PowerShell equivalent Add-WindowsPackage (used in the installation script below).
The basic DISM command to install a language pack is:
dism.exe /online /add-package /packagepath:”C:\LP\de-de\x64fre_Server_de-de_lp.cab” /quiet /norestart /logpath:”C:\Logs\MUI-de-de.log”
Also Features on Demand can be installed like that. Take for example the German handwriting package:
dism.exe /online /add-package /packagepath:”C:\LP\de-de\Microsoft-Windows-LanguageFeatures-Handwriting-de-de-Package~31bf3856ad364e35~amd64~~.cab” /quiet /norestart /logpath:”C:\Logs\MUI-de-de_Handwriting.log”
Note: the parameter /online refers to the currently active Windows machine, as opposed to “slipstreaming” source files in an offline Windows image file (WIM). The term “online” has nothing to do with being online on the Internet.
On operating systems from Windows 8.1/Windows Server 2012 R2 and newer with PowerShell 5.0 and higher installed, the cmdlet Add-WindowsPackage can be used instead of using DISM.exe:
Add-WindowsPackage -Online -PackagePath “C:\LP\de-de\x64fre_Server_de-de_lp.cab” -LogPath “C:\Logs\MUI-de-de.log” -NoRestart
Please be aware that both DISM and the PowerShell equivalent Add-WindowsPackage always generate a log file. If you do not specify a custom log file and log file location, the default log path C:\Windows\Logs\DISM is used.
In the following section, Complete Installation Script, you find a custom PowerShell script to install language packs including logging and error handling.
Complete installation script
The script below installs the Windows language pack using my installation template, which includes detailed logging and error handling. Also, the functions used in the scripts require my PowerShell Functions Library to be present on the local system. This means that before you can use the script, you need to copy the PowerShell module file DS_PowerShell_Function_Library.psm1 to the local system first.
In order to use this script, please follow these steps:
- Create an installation directory on the local computer or on a file share (UNC path). For example C:\Temp\Microsoft\Language Pack Spanish.
- Create a subdirectory called Files.
- Download the language pack to the folder Files in the installation directory. Include the subfolder for the language pack. The structure should be Files\%LanguagePackDir%, for example, Files\es-es. The CAB file, in this case for the Spanish language, is located in the directory es-es.
- Download and copy the PowerShell module file DS_PowerShell_Function_Library.psm1 to a directory on your local system.
- Copy the complete PowerShell script below to a new PS1 file (e.g. Install_Microsoft_Windows_MUI_Spanish.ps1) and add this file to the root of the installation directory (not in the subdirectory Files).
- Optional: modify the location of the log directory and log file name in lines 43 and 44.
- Enter the correct path to the PowerShell module file in line 60.
- Modify the file name in line 70. In case you want to use a different directory name instead of Files, change it in line 71.
- Execute the PowerShell script as follows:
powershell.exe -executionpolicy bypass -file “C:\Temp\Microsoft\Language Pack Spanish\Install_Microsoft_Windows_MUI_Spanish.ps1”
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
#========================================================================== # # Install a Microsoft Language Pack # # AUTHOR: Dennis Span # DATE : 27.08.2018 # # COMMENT: This script installs a Microsoft language pack (MUI) on the local machine # # Note: see the article ‘https://dennisspan.com/powershell-scripting-template-for-sccm-packages/’ for a detailed description how to use this template # # Note: for an overview of all functions in the PowerShell function library ‘DS_PowerShell_Function_Library.psm1’ see: # -Windows functions: https://dennisspan.com/powershell-function-library/powershell-functions-for-windows/ # -Citrix functions: https://dennisspan.com/powershell-function-library/powershell-functions-for-citrix/ # # Change log: # ———— # <DATE> <NAME>: <CHANGE DESCRIPTION> #========================================================================== # Get the script parameters if there are any param ( # The only parameter which is really required is ‘Uninstall’ # If no parameters are present or if the parameter is not # ‘uninstall’, an installation process is triggered [string]$Installationtype ) # define Error handling # note: do not change these values $global:ErrorActionPreference = «Stop» if($verbose){ $global:VerbosePreference = «Continue» } ############################ # Preparation # ############################ # Disable File Security $env:SEE_MASK_NOZONECHECKS = 1 # Custom variables [edit] $BaseLogDir = «C:\Logs» # [edit] add the location of your log directory here $PackageName = «Microsoft Language Pack Spanish» # [edit] enter the display name of the software (e.g. ‘Microsoft Language Pack Spanish’ or ‘Microsoft MUI German’) # Global variables $StartDir = $PSScriptRoot # the directory path of the script currently being executed if (!($Installationtype -eq «Uninstall»)) { $Installationtype = «Install» } $LogDir = (Join-Path $BaseLogDir $PackageName).Replace(» «,«_») $LogFileName = «$($Installationtype)_$($PackageName).log» $LogFile = Join-path $LogDir $LogFileName # Create the log directory if it does not exist if (!(Test-Path $LogDir)) { New-Item -Path $LogDir -ItemType directory | Out-Null } # Create new log file (overwrite existing one) New-Item $LogFile -ItemType «file» -force | Out-Null # Import the Dennis Span PowerShell Function Library Import-Module «C:\Scripts\DS_PowerShell_Function_Library.psm1» DS_WriteLog «I» «START SCRIPT — $Installationtype $PackageName» $LogFile DS_WriteLog «-« «» $LogFile ############################ # Installation # ############################ # Set variables $FileName = «x64fre_Server_es-es_lp.cab» # [edit] enter the name of the installation file (e.g. ‘x64fre_Server_de-de_lp.cab’) $FileSubfolder = «Files» # [edit] enter the name of the subfolder which contains the installation file # Install the language pack (using the log file defined in the variable $LogFile) $Language = $FileName.Substring(14,5) # Retrieve the language code from the Windows Language Pack file name (e.g. ‘de-de’ for Germany/German) $FileSubfolder = «Files\$($Language)» # Add the name of the language folder (e.g. ‘es-es’ or ‘de-de’) to the file subfolder path (the result will be something like ‘Files\es-es’ or ‘Files\de-de’) $FullPath = Join-Path $StartDir $FileSubfolder # Concatenate the two directories $StartDir and $InstallFileFolder $FileFullPath = Join-Path $FullPath $FileName # Concatenate the two directories $StartDir and $InstallFileFolder $LogFileMUI = Join-Path $LogDir «DISM_Log_LanguagePack_$($Language.ToUpper()).log» DS_WriteLog «I» «Install the Windows Language Pack $($Language.ToUpper())» $LogFile DS_WriteLog «I» «-File full path: $($FileFullPath)» $LogFile DS_WriteLog «I» «-DISM log file: $($LogFileMUI)» $LogFile Try { DS_WriteLog «I» «-Command: Add-WindowsPackage -Online -PackagePath ««$FileFullPath»» -LogPath ««$LogFileMUI»» -NoRestart» $LogFile Add-WindowsPackage -Online -PackagePath $FileFullPath -LogPath $LogFileMUI -NoRestart DS_WriteLog «S» «The language pack $($Language.ToUpper()) was installed successfully» $LogFile } Catch { DS_WriteLog «E» «Failed to install the language pack $($Language.ToUpper())» $LogFile Exit 1 } ############################ # Finalize # ############################ # Enable File Security Remove-Item env:\SEE_MASK_NOZONECHECKS DS_WriteLog «-« «» $LogFile DS_WriteLog «I» «End of script» $LogFile |
If you want to go one step further and create an SCCM package as well, please follow the step-by-step explanation in the article Deep dive creating SCCM packages for Citrix.
How to change the Windows display language
The Windows display language is configured per user, not per machine. There are a couple of methods to change the display language. You can choose one of the following options:
- Change the display language manually (Windows Server 2016)
- Change the display language manually (Windows 10)
- Change the display language using Microsoft Group Policy
- Change the display language using a Group Policy Preference item
Most methods apply to both Windows 10 and Windows Server 2016 unless stated otherwise.
Change the display language manually (Windows Server 2016)
Note: in an enterprise environment, I strongly recommend installing the required language packs unattended during the initial installation. This goes for both client and server operating systems.
To manually change the Windows display language on a machine with Windows Server 2016 version 1607, go to Control Panel \ Language. In the menu, the entry Add a language adds the keyboard layout for a particular language. Under Options, you can enable the Windows display language if it has been installed.
Change the display language manually (Windows 10)
In Windows 10 version 1803, changing languages is handled differently. Go to Settings \ Time & Language.
On the left side select Region & Language.
In this window, you can add a language. After adding a language, Windows checks if there is a language pack available for it. In case a language pack is found, you have the option to download and install it. Click the Options button.
Select the Download button beneath the language options to start the download.
After installing the language pack, Windows will automatically install it.
After installing the language pack, a new popup box is available where you can select the preferred Windows display language. As mentioned before, this is for the current user only.
After changing the Windows display language you have to sign out (and sign in again) for the changes to apply.
Change the display language using Microsoft Group Policy
The Windows display language for a specific user or group can be forced by enabling the Group Policy setting Restricts the UI language Windows should use for the selected user in the Group Policy User Configuration \ Policies \ Administrative Templates \ Control Panel \ Regional and Language Options.
It is important to be aware that this setting prevents a user from selecting a different display language, even if more languages are installed on the local system. In case you want to be less restrictive towards your users, use a Group Policy Preference item instead of a Group Policy item. How to use a Group Policy Preference item is explained in the section below.
Change the display language using a Group Policy Preference item
In case you want users to be able to change their Windows display language, you cannot use a Group Policy setting. As mentioned in the previous paragraph, configuring a Group Policy setting to define the user’s display language results in the user not being able to change the Windows language. The solution is to use a Group Policy Preference item instead.
The preferred Windows display language is stored in the registry value PreferredUILanguages in the registry key HKEY_CURRENT_USER\Control Panel\Desktop. The value PreferredUILanguagesPending is only used to store the language that will be active at the next logon in case the user changed it manually and did not sign out yet.
Changing the language in this multi-string registry value accomplishes the same result as when changing the language manually using the GUI. Of course, for everything to work the language pack has to already be installed on the local system.
This solution applies to both Windows 10 and Windows Server 2016 (and higher).
Using a Group Policy Preference registry item allows an administrator to configure the preferred Windows display language while still allowing a user to change the language manually.
Configuring the option “run one time” ensures that the preference item is not enforced at the next logon.
Applying the preference item only once ensures that the display language is never overwritten should the user decide to change it.
Using Item-level Targeting (ILT) you can assign preferred Windows languages to different users based on several criteria (see the section Configuring regional settings using Group Policy in my article Configure Regional Settings and Windows locales with Group Policy for an example of how to use ILT).
Using a logon script
As explained in the previous paragraph, the setting to configure the Windows display language is a registry value. Therefore, it is possible to use a logon script to configure this setting.
In case you use a PowerShell script I invite you to use my PowerShell Function Library. You can configure the registry value using the function DS_SetRegistryValue.
To prevent a user from having to sign out to apply the language settings, make sure to run your logon script synchronously. This means that your logon script needs to run before the user’s desktop is started (so before the initial explorer.exe process is started). Enable the Group Policy item Run logon scripts synchronously in the Group Policy Computer or User Configuration \ Policies \ Administrative Templates \ System \ Scripts.
How to change the display language for Windows Apps and Store, Edge, and Internet Explorer
As stated in the introduction of this article, the Windows display language is applied to all Windows components including Windows Apps and Store, Edge, and Internet Explorer. However, it is possible to use a different language for the Windows Apps and Store, Edge, and Internet Explorer.
Note: the language setting I am referring to here is the language used inside a Windows App, Edge, or Internet Explorer, not the menu language of the actual application! For example, when the language of Internet Explorer is set to German and you visit Microsoft.com, the content is displayed in German.
This is possible by changing the order of the languages. You can choose one of the following options:
- Manually (Windows Server 2016)
- Manually (Windows 10)
- Group Policy Preference
Most methods apply to both Windows 10 and Windows Server 2016 unless stated otherwise.
Manually (Windows Server 2016)
To manually change the Windows display language for Windows Apps and Store, Edge, and Internet Explorer, on a machine with Windows Server 2016 version 1607 installed, go to Control Panel \ Language. In the menu, move the preferred language to the top of the list.
Manually (Windows 10)
In Windows 10 version 1803, changing languages is handled differently. Go to Settings \ Time & Language \ Region and Language. Use the arrows to move the preferred language for Windows Apps and Store, Edge, and Internet Explorer to the top of the list.
It is also possible to change the display language for Windows Apps and Store, Edge, and Internet Explorer from within Internet Explorer. Go to Internet Options and on the tab General go to Languages.
In the window Language Preference, click on the button Set Language Preferences.
This will lead you to the Region and Language settings page.
Note: those of you who have experience with older operating systems will quickly realize that Microsoft made some significant changes concerning the language configuration in Internet Explorer.
Group Policy Preference
As far as I am aware, no Group Policy setting exists to configure the display language for Windows Apps and Store, Edge, and Internet Explorer. But don’t worry; you can use a Group Policy Preference instead.
The preferred Windows display language for Windows Apps and Store, Edge, and Internet Explorer is stored in the registry value Languages in the registry key HKEY_CURRENT_USER\Control Panel\International\User Profile.
Changing the order of languages in this multi-string registry value accomplishes the same result as when changing the order using the GUI.
This solution applies to both Windows 10 and Windows Server 2016 (and higher).
See the section Change the display language using a Group Policy Preference item in this article for more information on how to configure a preference item.
Using a logon script
As explained in the previous paragraph, the setting to configure the display language for Windows Apps and Store, Edge, and Internet Explorer is a registry value. Therefore, it is possible to use a logon script to configure this setting.
In case you use a PowerShell script I invite you to use my PowerShell Function Library. You can configure the registry value using the function DS_SetRegistryValue.
To prevent a user from having to sign out to apply the language settings, make sure to run your logon script synchronously. This means that your logon script needs to run before the user’s desktop is started (so before the initial explorer.exe process is started). To accomplish this, enable the Group Policy item Run logon scripts synchronously in the Group Policy Computer or User Configuration \ Policies \ Administrative Templates \ System \ Scripts.
How to prevent users from changing language settings
By configuring the Windows display language using a Group Policy, you prevent a user from changing the language, at least until the next Group Policy refresh cycle (this will likely be every 30 to 90 minutes in most organizations).
In case this is not enough and you want to prevent users from changing language settings in any of the menus, the following policies are available:
- User Configuration \ Policies \ Administrative Templates \ Control Panel \ Regional and Language Options
Setting: Hide the select language group options - User Configuration \ Policies \ Administrative Templates \ Windows Components \ Internet Explorer \ Internet Control Panel
Setting: Disable the general page - User Configuration \ Policies \ Administrative Templates \ Windows Components \ Internet Explorer
Setting: Disable changing language setting
Please be aware that configuring the above settings does not prevent the user from changing these settings programmatically or by using tools such as regedit.exe. After all, language settings are user-specific settings and by default, users have permission to change their own user-specific settings.
How to change the system code page for non-Unicode programs
A Windows language (interface) pack does not modify the system-specific code page for non-Unicode programs. Please see the article Configuring the time zone and code page with Group Policy for detailed information on how to change the system’s code page.
Conclusion
I honestly thought that writing this article would be simpler and less time-consuming. There are still some smaller open issues I am working on and I will update this article when I am done. In the meantime, I hope the information in this article was of some help to you.
Dennis Span works as a Lead Account Technology Strategist at Cloud Software Group in Vienna, Austria. He holds multiple Citrix certifications (CCE-V). Dennis has been a Citrix Technology Advocate (CTA) since 2017 (+ one year as Citrix Technology Professional, CTP). Besides his interest in virtualization technologies and blogging, he loves spending time with his family as well as snowboarding, playing basketball and rowing. He is fluent in Dutch, English, German and Slovak and speaks some Spanish.
Руссификация Windows Server 2008
Для Windows Server 2008, отсутствует официальный дистрибутив на русском языке. Поэтому, чтобы русифицировать установленную систему, потребуется выполнить несколько шагов:
1. Подключиться к серверу, по RDP или при помощи VNC клиента.
2. Перейти на сайт Microsoft (желательно это сделать одним из современных браузеров Chrome или Firefox, предварительно установив их) и выполнить загрузку пакета обновления KB2483139 http://www.microsoft.com/ru-ru/download/details.aspx?id=2634
3. После этого запустить данный пакет обновления и он автоматически начнёт устанавливаться.
4. После того как пакет будет установлен, нужно перейти в “Control panel” => “Region and Language” вкладка “Keyboard and Languages” и в пункте “Choose a display language” выбрать русский.
5. После этого разлогиньтесь из системы и войдите снова, чтобы изменения вступили в силу.
На этом русификацию Windows 2008 можно считать выполненной.
Русификация Windows Server 2012 и Windows Server 2016
После установки Windows Server 2012 или Windows Server 2016, в системе может быть установлен только один языковой пакет (чаще всего это английский). Ниже мы рассмотрим как установить русский языковой пакет для Windows Server 2012, аналогичным образом устанавливается и для Windows Server 2016.
1. Подключиться к серверу, по RDP или при помощи VNC клиента.
2. Перейти в “Control panel” (правая кнопка мыши на меню Пуск).
Далее “Clock, Language, and Region” => “Add language”.
Нажимаем кнопку “Add a language”.
В появившимся списке выбираем русский и нажимаем “Add”.
Русский язык появляется в списке доступных языковых пакетов. Для того, чтобы полностью установить данный пакет, нажимаем “Options”.
Далее “Download and install language pack”.
Начинается загрузка и установка языкового пакета.
3. После того как установка завершится, снова заходим в “Option” и назначаем установленный русский язык по умолчанию.
4. После применения данного пакета, будет предложено разлогиниться, но лучше пока этого не делать, чтобы сразу применить все нужные языковые настройки.
5. Теперь нам нужно изменить региональные настройки, для этого снова переходим в “Control panel” => “Change date, time, or number formats”.
Во вкладке “Formats”, можно ничего не менять, здесь уже установлен язык по умолчанию, который в нашем случае уже русский.
Далее во вкладке “Location”, меняем с “United States” на “Russia”
Во вкладке “Administrative”, “Change system locale…” меняем на “Russian (Russia)”.
После того как нажмете кнопку “OK”, чтобы применить настройки, система запросит перезагрузку.
Выполняем перезагрузку и при следующем входе в систему, мы получаем полностью русифицированный Windows 2012.
Русификация Windows Server 2019
Windows Server 2019, на данный момент является последней версией серверной операционной системы компании Microsoft и для её русификации, нам потребуется выполнить следующие действия:
1. Подключиться к серверу, по RDP или при помощи VNC клиента.
2. Нажать кнопку Пуск и перейти в “Settings”.
3. Перейти в пункт меню “Time & Language”, затем вкладка “Language” и “Add language”.
И из появившегося списка, выбираем язык “Russian”.
Затем мастер установки, попросит выбрать компоненты которые нужно установить, оставляем всё по умолчанию.
Устанавливаем пакет и он появляется в списке выбора языков. Нажимаем “Options”
Если при переходе в опции и попытке загрузки нужных пакетов, появляется ошибка: 0x00F0950
то это является недоработкой Microsoft и лечится одним из способов указанным в данной ссылке https://support.microsoft.com/ru-ru/help/4466511/cannot-configure-language-pack-for-windows-server-2019 . Воспользуемся первым способом, через Windows Update и выполняем следующие действия.
Переходим в меню “Settings” далее “Update & Security”.
Затем вкладка “Windows Update” и проверяем доступные обновления — “Check for updates”.
Устанавливаем все доступные обновления, в том числе и обновление KB4476976, которое лечит данную проблему. После установки обновления будет запрошен перезапуск сервера и как система загрузится — продолжаем установку языкового пакета.
4. После того, как языковой пакет установлен, переходим к настройке региональных параметров и языка по умолчанию в системе.
В “Language” => “Windows display language”, выбираем русский язык.
Вкладка “Region”, в меня “Country or region”, выбираем “Russia” и в “Current format: Russian (Russia)”.
В “Related settings”, можно задать дополнительные региональные стандарты.
Пункт “Region”, вкладка “Administrative” и “Change system locale”, выбираем “Current system locale: Russian”.
На запрос о перезагрузке системы, отвечаем положительно.
После перезагрузки, получаем полностью русифицированную систему Windows Server 2019.
Этот сайт использует файлы cookie, систему Google Analytics для сбора статистики о посетителях сайта, а также для сбора данных, таких как ваш IP и геолокация. Подробнее о нашей политике обработки персональных данных. Продолжая использовать текущий веб-сайт, Вы автоматически соглашаетесь с использованием описанных технологий.
Mount mu_windows_server_2016_language_pack_x64_dvd_9327828.iso
Run as Administrator
dism.exe /online /add-package /packagepath:D:\langpacks\de-de\x64fre_Server_de-de_lp.cab
Reboot the system after installation.
Check for installed languages:
C:\Windows\system32>dism /online /Get-intl
To installing the language pack by GUI start:
lpksetup.exe
by selecting language lp.cab file.
Set Windows system locale to other lang than EN-US that is supported by DPSQL. For example, German.
Install the de_DE lang pack using Control Panel > Languages and set it as default.
Open Control Settings > Regional
Select Administrative tab, push Copy settings… button.
Under Copy your current settings, select “Welcome screen and system accounts”.
Push OK button.
Open SQL Server Management Studio, connect as Windows administrator.
Right click on server and set default language to German.
Open a query window, and run:
ALTER LOGIN [HYPER1VM6\Administrator] WITH DEFAULT_LANGUAGE=[German] GO dbcc useroptions
Restart the server.
After restart open the Windows PowerShell, and run Get-Date, and see that date appears in German date and time format.
PS C:\FCM-TOOLS\GermanBackupTest> get-Date Donnerstag, 29. November 2018 00:13:39
Open cmd and run date. Note the diff between EN and DE date format !!
C:\Program Files\Tivoli\tsm\TDPSql>date /T Thu 11/29/2018 << EN C:\Program Files\Tivoli\tsm\TDPSql>date /T 29.11.2018 << DE
NOTE: If you connect to Windows using RDC and the Regional lang is set back to English then you have to copy the language setting to the system user using Control Panel > Languages as described before.
Log in SSMS and run again dbcc useroptions and see that the default language is German and dateformat is dmy.
Все, что вам нужно знать о окнах сервера 2016 от Lp cab
Windows Server 2016 является одной из самых популярных операционных систем, используемых в корпоративной среде. Эта мощная платформа обеспечивает универсальные возможности, которые позволяют организациям управлять своими IT-сетями и приложениями с легкостью и надежностью.
Одной из важных составляющих Windows Server 2016 является функция Lp cab. Lp cab, или Language Packs Cabinet Files, представляет собой набор файлов, содержащих необходимые компоненты для локализации операционной системы на различных языках. Эти файлы позволяют пользователям отображать текст и интерфейс операционной системы на своем предпочитаемом языке, сделав работу более удобной и эффективной.
Windows Server 2016 со встроенными Lp cab файлами предлагает широкий спектр языковых пакетов, которые включают в себя не только основные языки, такие как английский, испанский и немецкий, но и множество других языков. Это позволяет предоставлять услуги на различных языках и эффективно взаимодействовать с клиентами и сотрудниками из разных стран и культурных сфер.
Но почему вам следует обратить внимание на использование Lp cab в Windows Server 2016? Первое и самое очевидное преимущество — это возможность удовлетворить потребности разноязычной рабочей силы. Обеспечение доступа к операционной системе на языке, понятном каждому сотруднику, способствует повышению производительности и улучшению качества работы.
Кроме того, Lp cab файлы также предлагают возможность установки нескольких языковых пакетов одновременно. Это особенно полезно для компаний, у которых есть международные отделы или клиенты. Не нужно загружать дополнительные операционные системы или вносить изменения для каждого языка, просто установите нужные Lp cab файлы и ваша система будет готова к работе на любом языке.
И напоследок, необходимо отметить, что использование Lp cab в Windows Server 2016 помогает унифицировать и упростить управление системой. Вместо того, чтобы иметь различные копии операционной системы для каждого языка, можно использовать одну установку с разными Lp cab файлами, что делает процесс обновления и управления более эффективным и простым.
В целом, применение Lp cab файлов в Windows Server 2016 не только обеспечивает локализацию и удовлетворение потребностей разноязычных сотрудников и клиентов, но и помогает сохранять эффективность и простоту управления системой. Если вы еще не используете Lp cab в Windows Server 2016, то, вероятно, настало время обратить внимание на эту функцию и повысить эффективность вашей IT-системы.