What changing system locale in Wine actually does
Wine is a compatibility layer that lets you run Windows programs on Linux, macOS, and BSD. When you change the system locale in Wine, you're telling those Windows programs what language, date format, and currency symbol to use — the same way you'd set these things in Windows itself. This matters because some programs won't display text correctly, won't accept your keyboard input, or won't format numbers the way you expect unless the locale matches what the program was built for.
The locale setting in Wine controls how the program sees your system's language and regional preferences. If you're running a Japanese game on an English system, changing the locale to Japanese can fix garbled text. If you're running accounting software built for Germany, setting the locale to German ensures dates and currency display correctly. The change only affects programs running inside that Wine prefix — it doesn't touch your actual system settings.
Key Takeaways
- Wine stores locale settings in a configuration file called the registry, which you edit using the winecfg tool or by hand in a text editor.
- The easiest method is opening winecfg, going to the Staging tab, and changing the locale dropdown — this works for most programs.
- Some programs need you to set the locale before you install them, so check the program's documentation if text looks wrong after installation.
- Changing locale can affect how the program displays menus, accepts keyboard input, and formats dates and numbers, but it won't translate the program itself.
- If winecfg doesn't have a Staging tab, your Wine version is too old and you'll need to edit the registry file by hand using a text editor.
Using winecfg to change the locale
The simplest way to change locale is through winecfg, Wine's graphical configuration tool. Open a terminal and type winecfg, then press Enter. A window will open showing your Wine configuration. Look for a tab labeled Staging near the top — if you see it, click it.
In the Staging tab, you'll see a dropdown menu labeled Locale. Click it to see the list of available locales. Find the one you need — for example, ja_JP for Japanese, de_DE for German, fr_FR for French, or en_US for US English. Select it and click Apply, then OK. Wine will write the change to its configuration and close.
The next time you run a program in that Wine prefix, it will use the new locale. You don't need to restart Wine or your computer. If the program was already running, close it completely and open it again for the change to take effect.
Editing the registry file if winecfg doesn't show Staging
Older versions of Wine don't have the Staging tab in winecfg. If you don't see it, you'll need to edit the registry file directly. Navigate to your Wine prefix folder — usually ~/.wine on Linux and macOS, or ~/.wine/drive_c if you're looking for the Windows drive. Inside, find the folder called system32, then look for a file called drivers.ini or check inside the user.reg file.
Open user.reg with a text editor like gedit, nano, or any plain-text editor. Search for the line that contains HKEY_CURRENT_USER\Control Panel\International. Under that section, look for a line that says Locale. The value next to it will be a code like 00000409 (US English). You need to replace this with the code for your target locale.
Common locale codes are: 00000407 for German, 0000040c for French, 00000411 for Japanese, 00000410 for Italian, and 00000c0a for Spanish. Find the right code for your language, replace the number, save the file, and close the editor. The next time you run a program in that prefix, it will use the new locale.
Setting locale before installing a program
Some Windows programs check the system locale during installation and bake that choice into how they work. If you install a program with the wrong locale, changing it afterward might not fix text display or keyboard input problems. If you know a program was built for a specific region, set the locale before you install it.
Open winecfg, change the locale to what you need, click Apply and OK, then close winecfg. Now run the installer for your program. The installer will see the locale you've set and configure itself accordingly. Once installation is done, you can change the locale again if you need to — the program will remember its original settings.
Locale codes and what they control
The locale code is a four-digit hexadecimal number that tells Windows programs what language and region to assume. The first two digits usually represent the language, and the second two represent the country or region. For example, 00000409 means English (language code 09) in the United States (country code 04). 00000809 means English in the United Kingdom.
When you change the locale, you're changing how the program formats dates (DD/MM/YYYY versus MM/DD/YYYY), how it displays currency symbols and decimal separators, what keyboard layout it expects, and what language it tries to display menus in. You're not translating the program — if the program's menus are in English, they'll stay in English. You're just telling it how to format numbers and dates, and what keyboard input to expect.
Troubleshooting when the locale change doesn't work
If you change the locale and the program still displays text wrong, the problem might not be locale at all. Some programs need additional fonts installed, or they need you to enable CJK (Chinese, Japanese, Korean) font support in Wine. Check the program's documentation or the Wine AppDB (the database of known working programs) to see if there are other steps required.
If you changed the locale in winecfg but the program didn't pick it up, make sure you clicked Apply before clicking OK. If you edited the registry file by hand, make sure you saved the file and that you edited the right section — search for "International" to find the correct place. Close the program completely and open it again; sometimes a running program won't see the change until it restarts.
If you're not sure what locale code you need, check the program's system requirements or documentation. If the program was sold in Japan, use 00000411. If it was sold in Germany, use 00000407. When in doubt, try the locale for the country where the program was published.
Using a separate Wine prefix for different locales
If you need to run multiple programs with different locales at the same time, create a separate Wine prefix for each one. A prefix is a self-contained folder where Wine stores all the configuration, registry, and installed programs for one set of applications. You can have one prefix set to Japanese locale and another set to German locale, and they won't interfere with each other.
To create a new prefix, open a terminal and type WINEPREFIX=~/.wine-japanese winecfg. Wine will create a new prefix called .wine-japanese and open winecfg for it. Set the locale, click Apply and OK, then close. Now when you want to run a program in that prefix, type WINEPREFIX=~/.wine-japanese wine program.exe. The program will use the Japanese locale you set, while your other programs in the default prefix use their own locale settings.
Frequently Asked Questions
Will changing locale translate the program into another language?
No. Locale only controls how dates, numbers, and currency are formatted, and what keyboard layout the program expects. If a program's menus are in English, they'll stay in English no matter what locale you set. Some programs include multiple language files and will switch languages based on locale, but that's the program's choice, not something locale forces.
Do I need to restart my computer after changing locale?
No. You only need to close the program completely and open it again. Wine reads the locale setting when the program starts, so restarting the computer is not necessary.
What locale should I use if I don't know where the program was made?
Start with en_US (US English) or 00000409 in the registry. If that doesn't work, check the program's documentation or the Wine AppDB to see what locale other users have had success with. You can always change it and try again.
Can I change locale for just one program without affecting others?
Yes, if you create a separate Wine prefix for that program. Each prefix has its own locale setting. If all your programs are in the same prefix, they all share the same locale.
What if the locale dropdown in winecfg is empty or grayed out?
Your Wine version might not support the Staging tab. Edit the user.reg file by hand instead, or update Wine to a newer version that includes the Staging features.