Locales

From Linux Gaming
Revision as of 06:08, 11 May 2025 by AngeUshiromiya (talk | contribs) (Add references)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Some games might require to have different locales enabled on your system.

Generating locales

Before enabling locales, you must generate them first. To do that, uncomment the lines with the locales you want to enable in /etc/locale.gen and run sudo locale-gen inside a terminal emulator. Then, you can list all enabled locales with locale --all-locales[1].

For example, many fan-translated Japanese games require a Japanese locale. To generate it, just uncomment ja_JP.UTF-8 UTF-8 in /etc/locale.gen and run the command above. Most games should work with that locale but you might have to uncomment ja_JP.SJIS SHIFT_JIS or ja_JP.EUC-JP EUC-JP too and regenerate locales[2].

Setting the locale

To set the locale, the easiest way to do it is through environment variables. This way, it will only affect the game or program you want to run.

In our example, you will have to run LC_ALL=ja_JP.UTF-8 wine game.exe to start your game with the Japanese locale. Most of the time, using LANG instead of LC_ALL should be fine but some programs might need to have different locale categories set to the right format as setting LC_ALL will cover these cases as it sets them all at once[3].

If you use a launcher like Lutris, Heroic, Steam or Bottles, you can set environment variables directly from the GUI.

Fonts

To render missing special characters like Chinese, Japanese or Korean ones, you might have to install fonts. To do that, install Winetricks, open a terminal emulator and run winetricks allfonts corefont cjkfonts from your Wine prefix. If characters aren't rendered properly, you can import fonts from a Windows installation[4].