2

When I run winget upgrade winget on Windows, among the output it says "The source requires current machine's geographic region to be sent to function properly." (Emphasis by me.)

I don't live in England, but I would like to see British English whenever possible, instead of e.g. American English. I'm concerned that this "geographic region" (not England in my case) will cause the language of e.g. help files for packages I install with winget, to be American English.

How can I see what "geographic region" will be sent? And how can I change what is sent?

winget --version
v1.1.12653

user
  • 21

2 Answers2

2

An out-of-the-box Windows-11 installation of winget is using the Default system UI language. This is usually different from the default "Display Langugage". Unfortunately all these settings are hidden away in the registry and can only be found there or by closely inspecting various commands.

Here are a few.

# Get-WinUserLanguageList

LanguageTag : en-US Autonym : English (United States) EnglishName : English LocalizedName : English (United States) ScriptName : Latin InputMethodTips : {0409:00000409} Spellchecking : True Handwriting : False

Get-WinSystemLocale

[cultureinfo]::CurrentCulture

LCID Name DisplayName


1033 en-US English (United States)

And most importantly:

dism /online /get-intl

Deployment Image Servicing and Management tool Version: 10.0.22621.1

Image Version: 10.0.22621.2715

Reporting online international settings.

Default system UI language : en-US System locale : en-US Default time zone : Romance Standard Time Active keyboard(s) : 0409:00000409, 0c0a:0000040a Keyboard layered driver : Not installed.

Installed language(s): en-US Type : Fully localized language. Installed language(s): es-ES Type : Partially localized language, MUI type. Fallback Languages en-US

The operation completed successfully.

However, when using winget, you are probably better off just trying to pass the command line locale option: --locale "en-US".

not2qubit
  • 2,651
  • 4
  • 34
  • 45
0

Reading this thread - winget is localized for my region, even when my UI-language is set to en-US -, winget follows:

the order of languages in the "Preferred languages" list, as output by Get-WinUserLanguageList

Open Powershell and execute the cmdlet to show the order of language preferences.

Get-WinUserLanguageList

It will list the language per preference/priority. If en-GB (English United Kingdom) is listed above en-US (English United States), it means that winget uses en-UK as the language for geographic region.

In case the cmdlet above doesn't work, use the following:

Import-Module -Name International -UseWindowsPowerShell -Verbose
Get-WinUserLanguageList