Closed mdragosv closed 7 months ago
Could you try powershell Get-WinSystemLocale
?
Could you try
powershell Get-WinSystemLocale
?
LCID Name DisplayName
1048 ro-RO Romanian (Romania)
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).
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.
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).
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!
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?
@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.
Bug in WSL
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.
My solution only downloads and install English (US) language packs.
My Windows is set to English and there is no language pack installed:
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.It's been almost a year and it's still broken. @benhillis Can we expect a solution anytime soon?
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
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
This just suddenbly happend for me today:
Single command - two languages.
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).
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.
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.
Should've been English - the chosen Windows display language and the topmost preferred language:
Mentioned solutions don't work. Chosen regional date/time format should NOT affect the WSL output language.
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.
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...
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?
Changing Regional format does indeed change the wsl language:
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
Can this please be labeled as a bug?
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.
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.
https://github.com/microsoft/WSL/releases/tag/2.1.3
Use the display language for localization instead of the default locale (solves #11087,#11051)
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.
https://github.com/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!
Version
Microsoft Windows [Version 10.0.22621.900]
WSL Version
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
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>
Diagnostic Logs
No response
Solution
https://github.com/microsoft/WSL/issues/9242#issuecomment-1406138325