1

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

2 Answers 2

1

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".

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
1
  • This can also be done in Setting > Time & Language > Language.
    – harrymc
    Commented Nov 27, 2022 at 21:11

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .