Understanding Windows Terminal Configuration
Windows Terminal is a modern, cross-platform terminal emulator for command-line tools like Command Prompt, PowerShell, and WSL. Unlike older console applications that strictly adhere to the operating system's regional settings, Windows Terminal allows for granular control over localization through its configuration file. When you install multiple keyboard layouts, such as Japanese and English, the system often defaults the terminal interface to the primary input language. However, this behavior can be customized if you prefer a different language for the user interface while maintaining your preferred typing environment. The configuration is stored in a JSON file located in your user profile directory. By modifying this file, you can define exactly how the terminal behaves regarding text rendering, fonts, and language localization. It is important to distinguish between the input language (which controls which characters are typed) and the UI language (which controls menu labels and error messages). Changing the UI language does not affect your ability to type in your native keyboard layout.Editing the Settings JSON File
To begin the process, launch Windows Terminal from the Start menu or by pressing Win + X and selecting it from the list. Once the application is open, you need to access the command palette. PressCtrl+Shift+P to open the drop-down menu at the top of the window. From the list of available commands, type "Settings" and select Open Settings (JSON). This action will open the raw configuration file in your default text editor, typically Visual Studio Code or Notepad.
If you have never edited this file before, it may appear empty or contain only default values. Do not worry about the structure; you can append your changes to the existing content. Ensure that you maintain valid JSON syntax, particularly with commas between objects and properties. An incorrect comma placement will cause the terminal to fail to load properly.
Adding the Locale Property
Inside the JSON file, you will see two main sections:"profiles" and "defaultProfile". You can set the locale globally or per-profile. To apply the language change to all terminal instances, locate the "defaults" object within the "profiles" section. If this object does not exist, you can create it. Add the following line inside the "defaults" object:
"locale": "ja-JP"
Replace ja-JP with the appropriate culture code for your desired language. For example, use pl-PL for Polish or en-US for United States English. These codes follow the ISO 639-1 standard for language identifiers combined with the ISO 3166-1 alpha-2 country code. If you want to change the language for a specific shell, such as PowerShell, find the corresponding profile under "list" within "profiles" and add the "locale" key directly to that object.
After making these changes, save the file. Windows Terminal will automatically detect the modification and reload the settings. You should immediately notice that the menu items, such as "File," "Edit," and "View," are now displayed in the selected language. Note that this change only affects the visual interface of the terminal itself. The actual command output, error messages from system utilities, and third-party applications running inside the terminal will still respect their own internal localization settings or the global Windows locale unless configured otherwise.
For more details on managing input languages, see Get rid of unwanted input languages in Windows 11.
Verifying the Changes
Once the settings are saved, close and reopen Windows Terminal to ensure the changes take full effect. Check the top menu bar to confirm that the language has updated correctly. If the language remains unchanged, verify that you entered the correct culture code. Common mistakes include using incorrect capitalization or omitting the hyphen between the language and country codes. You can also check the terminal's status bar or help menu to see if it reports the active locale. If you encounter issues with font rendering after changing the locale, especially with non-Latin scripts, ensure that your chosen font supports the characters used in that language. Installing a comprehensive font pack like Noto Sans or Segoe UI Variable can resolve most display anomalies. For troubleshooting font-related issues, refer to Fixing Nerd Font Error in Windows Terminal on Windows 11.Frequently Asked Questions
Does changing the terminal language affect my system clock?
No, the terminal locale setting is isolated to the Windows Terminal application. Your system time format, date, and currency symbols remain controlled by the Windows Region settings in the Control Panel. If you need to adjust time formats, consult guides on fixing invalid time displays.
Can I use a different locale for each tab?
Yes, you can assign a specific locale to individual profiles. By adding the "locale" property to a specific object in the "profiles.list" array, you can have one tab in Japanese and another in Polish simultaneously. This is useful for developers working with multi-language codebases.
Why do some error messages still appear in English?
The "locale" setting primarily translates the Windows Terminal UI elements like menus and tooltips. Error messages generated by underlying executables (like cmd.exe or powershell.exe) depend on the system-wide language packs installed in Windows. You may need to install additional language packs via Windows Update to localize those outputs.
How do I revert the changes if I made a mistake?
To revert the changes, simply open the Settings JSON file again and delete the "locale" property you added. Save the file, and Windows Terminal will fall back to the default system locale. Ensure you remove the trailing comma if it causes a syntax error upon deletion.
Is this feature available in older versions of Windows Terminal?
The "locale" property was introduced in recent updates to Windows Terminal. If you are using an older version, you may not see this option. Consider updating Windows Terminal from the Microsoft Store to access the latest localization features and bug fixes.