Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Следующая версия Следующая версия справа и слева | ||
локализация_win_10_iot_enterprise [2018/09/19 14:29] vladimir |
локализация_win_10_iot_enterprise [2020/08/04 12:38] vladimir [Локализация Win 10 IoT Enterprise] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Локализация Win 10 IoT Enterprise ====== | ====== Локализация Win 10 IoT Enterprise ====== | ||
- | В нижеуказанных подразделах содержится описание изменения настроек с помощью графического интерфейса и консоли | + | В нижеуказанных подразделах содержится описание изменения настроек с помощью графического интерфейса и консоли, |
также в некоторых подразделах есть примеры автоматизации. | также в некоторых подразделах есть примеры автоматизации. | ||
- | * [[включение_поддержки_кириллицы|Включение поддержки кириллицы]] | + | * [[+tab|включение_поддержки_кириллицы|Включение поддержки кириллицы]] |
- | * [[указание_местоположения|Указание местоположения]] | + | * [[+tab|указание_местоположения|Указание местоположения]] |
- | * [[изменение_часового_пояса|Изменение часового пояса]] | + | * [[+tab|изменение_часового_пояса|Изменение часового пояса]] |
- | * [[установка_языкового_пакета|Установка языкового пакета]] | + | * [[+tab|установка_языкового_пакета|Установка языкового пакета]] |
- | * [[изменение_основного_языка_системы|Изменение основного языка системы]] | + | * [[+tab|изменение_основного_языка_системы|Изменение основного языка системы]] |
- | * [[изменение_языка_экрана_приветствия|Изменение языка экрана приветствия]] | + | * [[+tab|изменение_языка_экрана_приветствия|Изменение языка экрана приветствия]] |
- | * [[язык_интерфейса_новых_учетных_записей|Изменение языка интерфейса новых учетных записей]] | + | * [[+tab|язык_интерфейса_новых_учетных_записей|Изменение языка интерфейса новых учетных записей]] |
+ | По информации, которая содержится в данном разделе [[+tab|https://youtu.be/Da8kPUqH4JQ|есть видео]]\\ | ||
+ | \\ | ||
+ | Или Вы можете создать [[+tab|локализация_дистрибутива_win_10_iot_enterprise|локализованный дистрибутив]] системы. | ||
+ | <WRAP center round tip 100%> | ||
+ | Для простой и быстрой локализации установленной системы воспользуйтесь скриптом локализации, который находится | ||
+ | [[+tab|автоматизация_win_10_iot_enterprise|в нашем наборе скриптов]] | ||
+ | </WRAP> | ||
- | [[https://youtu.be/Da8kPUqH4JQ|По информации, которая содержится в данном разделе есть видео]] | ||
- | ===== Пример автоматизации с помощью PowerShell ===== | + | ===== Локализация под другие страны ===== |
- | **Для получения доступа к разделу "Примеры автоматизации"** | + | |
- | [[https://www.quarta-embedded.ru/about/contacts.html|**обратитесь к нашему менеджеру.**]]\\ | + | |
- | \\ | + | |
- | **Информация содержащаяся в данном разделе актуальна для Windows 10 1607.**\\ | + | |
- | \\ | + | |
- | В разделе "Примеры автоматизации" находится [[примеры_автоматизации#Локализация|сводный скрипт]] | + | |
- | с помощью которого можно выполнить все настройки о которых говорится в подразделах данного раздела.\\ | + | |
- | + | ||
- | Ниже приведен пример сводного скрипта, он выполняет все настройки локализации о которых говорится в подразделах | + | |
- | данного раздела. | + | |
- | Для работы данного скрипта необходимо чтобы требуемый языковой пакет находился рядом со скриптом или чтобы был | + | |
- | [[как_подключить_img_файл|подключен образ диска]] с языковыми пакетами. Для выполнения данного сценария необходимо | + | |
- | сохранить данный сценарий как [[как_создать_сценарий_powershell_ps1|сценарий PowerShell]], а затем | + | |
- | [[как_выполнить_сценарий_powershell|выполнить сценарий]].\\ | + | |
Для установки других языков и временных зон Вам понадобятся: | Для установки других языков и временных зон Вам понадобятся: | ||
- | * [[https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-8.1-and-8/hh825682(v=win.10)|Перечень языковых сокращений]] | + | * [[+tab|https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-8.1-and-8/hh825682(v=win.10)|Перечень языковых сокращений]] |
- | * [[https://docs.microsoft.com/en-us/windows/desktop/intl/table-of-geographical-locations|Таблица перечня идентификаторов местоположения]] | + | * [[+tab|https://docs.microsoft.com/en-us/windows/desktop/intl/table-of-geographical-locations|Таблица перечня идентификаторов местоположения]] |
- | * [[https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-time-zones|Перечень временных зон]] | + | * [[+tab|https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-time-zones|Перечень временных зон]] |
- | * [[https://msdn.microsoft.com/en-us/goglobal/bb964650?f=255&MSPPError=-2147217396|Настройки международных параметров]] | + | * [[+tab|https://msdn.microsoft.com/en-us/goglobal/bb964650?f=255&MSPPError=-2147217396|Настройки международных параметров]] |
- | Данный сценарий был написан под PowerShell 5.1.14393.0 | + | ===== Автоматизация ===== |
- | <code> | + | <WRAP center round info 100%> |
- | if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs; exit } | + | Для получения доступа к разделу [[+tab|примеры_автоматизации|«Примеры автоматизации»]] |
- | + | [[+tab|https://www.quarta-embedded.ru/about/contacts.html|обратитесь к нашему менеджеру.]] | |
- | $global:LangGlobal="ru-ru" | + | </WRAP> |
- | $global:GeoIDGlobal=0xCB | + | В разделе [[+tab|примеры_автоматизации|«Примеры автоматизации»]] находится |
- | $global:TimeZoneGlobal="Russian Standard Time" | + | [[примеры_автоматизации#Полная локализация системы|скрипт полной локализации системы]] |
- | $global:ScriptNameGlobal=[System.IO.Path]::GetFileNameWithoutExtension($MyInvocation.MyCommand.Name) | + | с помощью которого можно выполнить все настройки о которых говорится в данном разделе.\\ |
- | + | Для работы скрипта необходимо чтобы русскоязычный языковой пакет находился рядом со скриптом или чтобы был | |
- | Function AddTypeByNeed ($Type) {if (!([appdomain]::CurrentDomain.GetAssemblies()|Where-Object Location -match $Type)) {Add-Type -AssemblyName $Type}} | + | [[+tab|как_подключить_образ_диска_img|подключен образ диска]] с языковыми пакетами.\\ |
- | Function GetOSArch {if ([System.IntPtr]::Size -eq 4) {Return ("x86")} else {Return ("x64")}} | + | ===== Официальная документация ===== |
- | Function MsgBox ($Message="", $Style=0, $Header="") {AddTypeByNeed -Type Microsoft.VisualBasic; Return ([Microsoft.VisualBasic.Interaction]::MsgBox($Message -join "`n", $Style, $Header))} | + | * [[+tab|https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/localize-windows|Localize]] |
- | Function TestLPInstalled ($LPLang) {if ((Get-WmiObject -Class Win32_OperatingSystem).MUILanguages.ToLower() -contains $LPLang) {Return $True} else {Return ($False)}} | + | |
- | + | ||
- | Function GetLPPath ($LPLang) | + | |
- | { | + | |
- | $OSArch=GetOSArch | + | |
- | $LPName="Microsoft-Windows-Client-Language-Pack_"+$OSArch+"_"+$LPLang+".cab" | + | |
- | if (Test-Path "$($PSScriptRoot+"\"+$LPName)") {Return ($PSScriptRoot+"\"+$LPName)} | + | |
- | foreach ($DriveLetter in Get-WmiObject -Class Win32_LogicalDisk) { if (Test-Path "$($DriveLetter.DeviceID+"\"+$OSArch+"\langpacks\"+$LPName)") {Return "$($DriveLetter.DeviceID+"\"+$OSArch+"\langpacks\"+$LPName)"} } | + | |
- | Return ($LPName) | + | |
- | } | + | |
- | + | ||
- | Function RegWrite ($Path, $Name="‡", $Type="", $Value="‡") | + | |
- | { | + | |
- | if (!(Test-Path $Path)) {$Result = New-Item -Path $Path} | + | |
- | if (($Name -eq "‡") -or ($Type -eq "") -or ($Value -eq "‡")) {Return($Result)} | + | |
- | if ((Get-Item $Path).Property -contains $Name) {Remove-ItemProperty -Path $Path -Name $Name} | + | |
- | Return (New-ItemProperty -Path $Path -Name $Name -PropertyType $Type -Value $Value) | + | |
- | } | + | |
- | + | ||
- | + | ||
- | + | ||
- | if (!(TestLPInstalled -LPLang $LangGlobal)) | + | |
- | { | + | |
- | $LPFullPath = GetLPPath -LPLang $LangGlobal | + | |
- | if (!(Test-Path $LPFullPath)) {Exit MsgBox -Message ("Can't find language pack:", """$($LPFullPath)""", "The script will be stopped") -Style 4112 -Header $ScriptNameGlobal} | + | |
- | Add-WindowsPackage -Online -PackagePath $LPFullPath | + | |
- | RegWrite -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce -Name $ScriptNameGlobal -Type String -Value """$PSHome\powershell.exe"" -executionpolicy unrestricted -file ""$PSCommandPath""" | + | |
- | if ((MsgBox -Message ("You must reboot PC to changes take effect.", "The script not finished yet, script will resume automatically after logging in.", "Do you want to reboot PC now?") -Style 4132 -Header $ScriptNameGlobal) -Match "Yes") {Restart-Computer -Force} | + | |
- | exit | + | |
- | } | + | |
- | + | ||
- | if ((Get-Culture).Name.ToLower() -notcontains $LangGlobal) | + | |
- | { | + | |
- | $LangList = Get-WinUserLanguageList | + | |
- | $LangList.Add($LangGlobal) | + | |
- | Set-WinUserLanguageList -LanguageList $LangList -Force | + | |
- | Set-WinUILanguageOverride -Language $LangGlobal | + | |
- | RegWrite -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce -Name $ScriptNameGlobal -Type String -Value """$PSHome\powershell.exe"" -executionpolicy unrestricted -file ""$PSCommandPath""" | + | |
- | if ((MsgBox -Message ("You must log out to changes take effect.", "The script not finished yet, script will resume automatically after logging in.", "Do you want to log out now?") -Style 4132 -Header $ScriptNameGlobal) -Match "Yes") {(Get-WmiObject -Class Win32_OperatingSystem).Win32Shutdown(0)} | + | |
- | exit | + | |
- | } | + | |
- | + | ||
- | Set-WinSystemLocale $LangGlobal | + | |
- | Set-WinHomeLocation -GeoId $GeoIDGlobal | + | |
- | Set-TimeZone -id $TimeZoneGlobal | + | |
- | + | ||
- | $ConfigXML = '<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"> | + | |
- | <gs:UserList> | + | |
- | <gs:User UserID="Current" CopySettingsToDefaultUserAcct="true" CopySettingsToSystemAcct="true"/> | + | |
- | </gs:UserList> | + | |
- | </gs:GlobalizationServices>' | + | |
- | $ConfigXML | Out-File "$($PSScriptRoot)\Config.xml" | + | |
- | control "intl.cpl,,/f:`"$($PSScriptRoot)\Config.xml`"" | + | |
- | + | ||
- | if ((MsgBox -Message ("You must reboot PC to changes take effect.", "Do you want to reboot PC now?") -Style 4132 -Header $ScriptNameGlobal) -Match "Yes") {Restart-Computer -Force} | + | |
- | </code> | + | |
- | + | ||
- | + |