microsoft / winget-cli

WinGet is the Windows Package Manager. This project includes a CLI (Command Line Interface), PowerShell modules, and a COM (Component Object Model) API (Application Programming Interface).
https://learn.microsoft.com/windows/package-manager/
MIT License
22.98k stars 1.43k forks source link

winget is localized for my region, even when my UI-language is set to en-US #238

Closed jessehouwing closed 3 years ago

jessehouwing commented 4 years ago

Brief description of your issue

I am running an English version of Windows, but live in The Netherlands. So my UI culture and my region settings are different. All my apps should be defaulting to showing their UI in English, but the currency and date formats in Dutch.

winget shows most of its text as Dutch: image

Steps to reproduce

Windows Country or region: The Netherlands Windows Regional format: English (Europe) image

Windows Display Language: English image

Expected behavior

the text output from winget is English

Actual behavior

the text output is Dutch

Environment

Windows Package Manager v0.1.41331 Voorbeeld
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.19041.264
Package: Microsoft.DesktopAppInstaller v1.0.41331.0
jessehouwing commented 4 years ago

Found the reason. Because this is a store app, my Microsoft Account display language is used. This is pretty counterintuitive.

To see and change what your current language is, check the display language, the highlighted vaue was set to "Dutch (Netherlands)". image

Then open the Microsoft store app and download updates. It may take a while for the setting to sync.

I consider this a bug, my Windows installation has a UI language set, applications should follow it, but I'm guessing this is a WinRT remnant from the phone era we're now stuck with. I'd like a way to override the display language through configuration.

See also:

FaffeF commented 4 years ago

This mess is very common in Microsoft apps, and was a major annoyance for years in Windows 10. Please don't bring it back.

KevinLaMS commented 4 years ago

Thanks for reporting this. I am struggling a little bit with the repo however. I am finding that the language for the client is responding to the Windows display language. IMO, the language used by the client should come from Windows display language, so it is correct. Did it eventually update per the link you provided?

We can investigate adding a language override in options.
Thanks

jessehouwing commented 4 years ago

Yeah, the appstore language change eventually synced to windows. I'm happily on English now.

It's funny how much of Windows assumes I will constantly deliberately switch between languages.

FaffeF commented 4 years ago

I think I found out what my problem was: my Windows preferred language order was English (Sweden), Swedish (Sweden), English (United States).

This probably meant that Winget ignored English (Sweden) and went straight to Swedish. I don't understand the reasoning behind the separation between preferred language and Windows display language, but my expectation would be that if your app doesn't support English (whatever), just do English (US/UK/AUS/CAN), cause the differences are small enough that it doesn't matter.

Still didn't fix the Windows Store app.

denelon commented 3 years ago

Is this issue resolved?

ghost commented 3 years ago

This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 7 days. It will be closed if no further activity occurs within 7 days of this comment.

FaffeF commented 3 years ago

Seems to work, adhering to the order of languages in the "Preferred languages" list, as output by Get-WinUserLanguageList.

This is probably correct, though as a user I can't really understand why there is a setting for "Windows display language" that is separate from "Preferred language"

ghost commented 3 years ago

This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 7 days. It will be closed if no further activity occurs within 7 days of this comment.

denelon commented 3 years ago

This issue appears to be related to how Windows handles language priority.

yeya commented 2 years ago

We can investigate adding a language override in options. Thanks

Language override by options will be great. The default font of cli \ powershell doesn't support my windows display language so I like to set only winget to english.

craftzdog commented 2 years ago

Set-WinUserLanguageList solved the issue.

https://docs.microsoft.com/en-us/powershell/module/international/set-winuserlanguagelist?view=windowsserver2019-ps

PeterVeg commented 1 year ago

Thank you, this is great.