Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wsl.exe Wrong Default Display Langauge #9242

Closed
2 tasks
mdragosv opened this issue Dec 1, 2022 · 29 comments
Closed
2 tasks

wsl.exe Wrong Default Display Langauge #9242

mdragosv opened this issue Dec 1, 2022 · 29 comments

Comments

@mdragosv
Copy link

mdragosv commented Dec 1, 2022

Version

Microsoft Windows [Version 10.0.22621.900]

WSL Version

  • WSL 2
  • WSL 1

Kernel Version

No response

Distro Version

No response

Other Software

No response

Repro Steps

Install Windows 11 with the romanian language pack, maybe other languages affected.
Run wsl --install
Do wsl --help the help language wont be in english as expected

image

Expected Behavior

Default to english

Actual Behavior

PS C:\Users\marin> wsl -v
Verze WSL: 1.0.0.0
Verze jádra: 5.15.74.2
Verze WSLg: 1.0.47
Verze MSRDC: 1.2.3575
Verze Direct3D: 1.606.4
Verze DXCore: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
verze Windows: 10.0.22621.900
PS C:\Users\marin>
image

Diagnostic Logs

No response

Solution

#9242 (comment)

@benhillis
Copy link
Member

Could you try powershell Get-WinSystemLocale?

@mdragosv
Copy link
Author

mdragosv commented Dec 3, 2022

Could you try powershell Get-WinSystemLocale?

LCID Name DisplayName


1048 ro-RO Romanian (Romania)
image

@Nuklon
Copy link

Nuklon commented Dec 17, 2022

I have a similar problem, although it goes to Dutch. My display language is English:

LCID             Name             DisplayName
----             ----             -----------
1033             en-US            English (United States)

I don't even have Dutch installed.

E: Managed to fix it. In Windows settings, change the "Apps & Websites" language to English (United States).

@mdragosv mdragosv changed the title wsl.exe --help Defaulting To Czech Language wsl.exe Wrong Default Display Langauge Dec 18, 2022
@Sedemicra
Copy link

Had a similar issue, where WSL display language was in Czech.

In language settings:
Windows display language: English (United States)
Under Preferred languages: Only Estonian (language pack not even downloaded), which also set Apps & websites language to Estonian.

Solution:
Installed English (United States) language pack under Preferred languages. Left the order remain (Estonian first, English second), so the Apps & websites language remained Estonian, but WSL diaplay language turned to English (as desired).

Hope it is helpful for others dealing with similar issue.

@dorinlazar
Copy link

Same issue here, only the system locale is en-US. However, I do have the country and region set to Romania and the default input method set as Romanian (Programmers).
image

@mdragosv
Copy link
Author

mdragosv commented Feb 17, 2023

Had a similar issue, where WSL display language was in Czech.

In language settings: Windows display language: English (United States) Under Preferred languages: Only Estonian (language pack not even downloaded), which also set Apps & websites language to Estonian.

Solution: Installed English (United States) language pack under Preferred languages. Left the order remain (Estonian first, English second), so the Apps & websites language remained Estonian, but WSL diaplay language turned to English (as desired).

Hope it is helpful for others dealing with similar issue.

Can confirm your solution works!

image

@dorinlazar
Copy link

Still, it's a problem that should be clarified - is the Romanian language package filled with Czech localization strings, or is there a bug in wsl?

@Sedemicra
Copy link

@dorinlazar In my case there was nothing to do with Romanian language. I myself suspect WSL, but being not familiar in detail, how languages and locales work, can't really confirm my suspicions.

@mdragosv
Copy link
Author

Bug in WSL

@jurecotic
Copy link

I have the same issue, locale is Slovenian, until a few days ago WSL was in English, then from today on it is in Czech language. Although this happened to me already about a year ago but then fixed itself.

@futag
Copy link

futag commented Sep 19, 2023

My solution only downloads and install English (US) language packs.

@Stanzilla
Copy link

My Windows is set to English and there is no language pack installed:

  • The CLI output for commands is in English
  • The clie output for the update command is in German
    which leads me to believe it uses some sort of GEO IP or the region settings? Either way, pretty weird, would love to have everything in English.

@gril002
Copy link

gril002 commented Oct 11, 2023

It's been almost a year and it's still broken. @benhillis Can we expect a solution anytime soon?

@JEAYNE
Copy link

JEAYNE commented Oct 31, 2023

Same problem here since the upgrade from WSL 1.2.5.0 to 2.0.7.0

My Windows 11 is setup to use English for the Language and French for the Region.

PS> systeminfo | findstr Locale
System Locale:             en-gb;English (United Kingdom)
Input Locale:              en-gb;English (United Kingdom)

PS> Get-WinSystemLocale

LCID             Name             DisplayName
----             ----             -----------
2057             en-GB            English (United Kingdom)

PS> xyz
xyz : The term 'xyz' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is correct and try again.

It looks like that sometime WSL.EXE uses the Region, and sometime it uses the Language.

For some options WLS.EXE displays result in French (my Windows Region):

PS> wsl.exe --version
Version WSL : 2.0.7.0
Version du noyau : 5.15.133.1-1
Version WSLg : 1.0.59
Version MSRDC : 1.2.4677
Version direct3D : 1.611.1-81528511
Version de DXCore : 10.0.25880.1000-230602-1350.main
Version de Windows : 10.0.22621.2428

For other options it displays result in English (my Windows Language):

PS> wsl -l -v
  NAME                      STATE           VERSION
* Alpine                    Running         2
  docker-desktop            Stopped         2
  docker-desktop-data       Stopped         2
  OracleLinux_7_9           Stopped         2
  podman-machine-default    Stopped         2

And sometime it is a mix of French and English

PS> wsl --import my_distro .\dir\ alpine.tar.gz
Importation en cours. Cette opération peut prendre quelques minutes.
The operation completed successfully.

NOTES: the solution from Sedemicra doesn't work for me.

Here my Windows setup that was working before the upgrade from WSL 1.2.5.0 to 2.0.7.0

Language-Region

But this is not the real problem

WSL is not a tool for general public, it is only used by developers.
I believe that every developer expects an output in English, regardless of language and region.
If the output is depending on the Windows configuration how can I grep the WSL output?

Example: This bash statement works only in English but not in French, Spanish, Greek, Japanese etc...
name=$( wsl.exe --list --all | tr -d '\r\0' | grep '(Default)' | cut '-d ' -f1 )

English:

wsl --list --all
Windows Subsystem for Linux Distributions:
OracleLinux_9_1 (Default)

French:

wsl --list --all
Distributions du Sous-système Windows pour Linux :
OracleLinux_9_1 (par défaut)

Regards

@AndreasBrostrom
Copy link

This just suddenbly happend for me today:
image
image

@dstarkowski
Copy link

Single command - two languages.

image

It's a widespread problem across Microsoft products where Culture and UI Culture are mixed.

Region/Regional format/Location should never affect the language. Either Windows display language or the first one on preferred language list should be used (these are both en-US for me).

@danielniccoli
Copy link

danielniccoli commented Jan 7, 2024

Why on earth is my WSL German? I installed Windows in English (United States). @benhillis, you commented over a year ago without any follow-up. Please, look at it.

grafik

grafik

@iburakov
Copy link

iburakov commented Jan 7, 2024

I have the same problem right after doing the wsl --update from 1.x.x.x to 2.0.14.0. WSL output language has changed to Russian.
image

Should've been English - the chosen Windows display language and the topmost preferred language:
image

Mentioned solutions don't work. Chosen regional date/time format should NOT affect the WSL output language.

@romasandu-gaijin
Copy link

After some experimentation, it is clear that the language WSL uses for localization is taken from the "reginal format" setting, as several people have pointed out above, which is 100% a bug. People can and do use other contries formats without knowing the language, and not being able to even read the help without changing system settings to something inconvenient is awful. Please fix.

@jurecotic
Copy link

I don't think it is taken from regional. mdragosv has regional set to Romanian and his wsl was in Czech. Same for me, regional set to Slovenian, wsl in Czech...

@stefan-oskamp
Copy link

Can confirm that wsl.exe 2.0.14 is switching its display language when you change the Windows Region and Regional Format.

What part of "Windows Display Language = English (US)" does wsl.exe not understand??? Does it need more AI or maybe just more common sense?

@stianthaulow
Copy link

Changing Regional format does indeed change the wsl language:
wsl-region

WSL version: 2.0.14.0
Kernel version: 5.15.133.1-1
WSLg version: 1.0.59
MSRDC version: 1.2.4677
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.19045.3930

@danielniccoli
Copy link

Can this please be labeled as a bug?

@Florian-Thake
Copy link

Same here on Windows 10.
After update it is displayed in German instead of English.
Region is Germany but preferred language as well as the Windows display language is English (US).

Please, know, that advanced users and especially developers and administrators usually never want a translated version.
This is also annoying on technical documentation webpages where often an automatic translation is shown.
English is the de-facto standard in IT. It cannot be expressed more clear as in English. Everything else will lead to errors and misunderstandings. Also, we need English as the one and common language for interchange. CLI tools should never be translated at all in my opinion! This also saves development resources.

@danielniccoli
Copy link

danielniccoli commented Feb 20, 2024

Please, know, that advanced users and especially developers and administrators usually never want a translated version.

I disagree. If applications are translated, they should come in the language the user expects. You're using a generalisation to express your personal opinion. That does not help the quality of the application and only shifts the issue to a different group of people - namely the ones who want localised apps. If you want your system and apps to be in English, then you can do that via the system language settings.

The problem here is that the application does not follow the system language, but rather the region. These are two different settings. A user can be located in Germany, Poland, France or any other place in the world and would prefer to see content from that region. This is why you can set the region in Windows to wherever you are at the moment. All the while you can still have your system language in the language you are comfortable with. And then there are date, time and number formats, which can also be configured independent of region and language.

And applications should follow system language. It's that simple.

I'm frankly tired of seeing these issues in Microsoft applications, as these settings have been in Windows for at least 20 years and I'm shocked that Microsoft developers still don't grasp this concept.

@Otiel
Copy link

Otiel commented Feb 21, 2024

https:/microsoft/WSL/releases/tag/2.1.3

Use the display language for localization instead of the default locale (solves #11087,#11051)

@Florian-Thake
Copy link

The problem here is that the application does not follow the system language, but rather the region. These are two different settings. A user can be located in Germany, Poland, France or any other place in the world and would prefer to see content from that region. This is why you can set the region in Windows to wherever you are at the moment. All the while you can still have your system language in the language you are comfortable with. And then there are date, time and number formats, which can also be configured independent of region and language.

And applications should follow system language. It's that simple.

I'm frankly tired of seeing these issues in Microsoft applications, as these settings have been in Windows for at least 20 years and I'm shocked that Microsoft developers still don't grasp this concept.

Yes, that is the bug here and must be fixed.

Furthermore there are not only the region and the display language but also the input method (keyboard layout) and the formatting options for currency, date and so on as well as the time zone. All of these settings must be changeable completely independently and must be respected by every application.

I disagree. If applications are translated, they should come in the language the user expects. You're using a generalisation to express your personal opinion. That does not help the quality of the application and only shifts the issue to a different group of people - namely the ones who want localised apps. If you want your system and apps to be in English, then you can do that via the system language settings.

Sure, that is one way.
But I claim that there are different kind of applications. There are those which main target audience are developers and administrators. And for those I claim, that there is only one working way for avoid misunderstandings and errors: English language. It does not make sense to translate technical keywords or phrases into some other language. It will only lead to subtle differences in the meaning and a lost in some details (best case) or even to big errors (worst case).
For example, to program VBA in Excel in any other language than English is just a pain. English is the common language for interchange. Imagine, everybody would program an API of a library, the source and all the comments in his/her native spoken language. The IT world would collapse entirely.
So, again, I claim, that for tools which are targeted for developers and administrators are best available only in English.
It will lead to global interchangeable results automatically.
This is not only my personal opinion but backed with reasonable points.

When it comes to personal opinion, I can add the following:
I not only want that application will follow the set system language. I want set the display language for each application individually.
As I said, tools for developing shall be in English for me, but my Word shall be in German as well as any movie app. Also, for movies, I don't want English or English subtitles but German for default, and so on.

@Florian-Thake
Copy link

https:/microsoft/WSL/releases/tag/2.1.3

Use the display language for localization instead of the default locale (solves #11087,#11051)

That sounds promising. Thank you!

@OneBlue
Copy link
Collaborator

OneBlue commented Mar 13, 2024

Solved with 2.1.3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests