Support Unix-like locales on Windows
@serhiy-storchaka is already working on this.
Since Apr 20, 2026.
- Dominant language
- Python
- Stars
- 77.2k
- Forks
- 35.9k
- PR merge metrics
- PR metrics pending
Description
Feature or enhancement
Windows supports locale names in different formats. Some of them look similar to Unix-like names. The locale module tries to convert locale names on Windows to Unix-like form. It does not try hard, so getlocale() and setlocale() can return something unusual. What is worse, Unix-like names are not always supported in setlocale(), even if the locale in principle is supported on Windows. See also #67613 and #87281.
This issue is a continuation of #137729 on Windows. Linux and Unix in general support locales ca_ES.utf8@valencia, sr_RS.utf8@latin and uz_UZ.utf8@cyrillic. Windows supports the same locales with names ca-ES-valencia, sr-Latn-RS and uz-Cyrl-UZ. setlocale() should map the former to the latter (of course it should continue to support the former).
Linked PRs
- gh-148794
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.