waybar-niri-language(5) File Formats Manual waybar-niri-language(5)

# [NAME](#NAME)

waybar - niri language module

# [DESCRIPTION](#DESCRIPTION)

The **language** module displays the currently selected language in niri.

# [CONFIGURATION](#CONFIGURATION)

Addressed by **niri/language**

**format**:  
typeof: string  
default: {}  
The format, how information should be displayed.

**format-&lt;lang&gt;**  
typeof: string  
Provide an alternative name to display per language where &lt;lang&gt; is the language of your choosing. Can be passed multiple times with multiple languages as shown by the example below.

**menu**:  
typeof: string  
Action that popups the menu.

**menu-file**:  
typeof: string  
Location of the menu descriptor file. There need to be an element of type GtkMenu with id **menu**

**menu-actions**:  
typeof: array  
The actions corresponding to the buttons of the menu.

**expand**:  
typeof: bool  
default: false  
Enables this module to consume all left over space dynamically.

# [FORMAT REPLACEMENTS](#FORMAT_REPLACEMENTS)

**{short}**: Short name of layout (e.g. "us"). Equals to {}.

**{shortDescription}**: Short description of layout (e.g. "en").

**{long}**: Long name of layout (e.g. "English (Dvorak)").

**{variant}**: Variant of layout (e.g. "dvorak").

# [EXAMPLES](#EXAMPLES)

```
"niri/language": {
	"format": "Lang: {long}",
	"format-en": "AMERICA, HELL YEAH!",
	"format-tr": "As bayrakları"
}
```

# [STYLE](#STYLE)

•

**#language**

Additionally, a CSS class matching the current layout's short name is added to the widget. This allows per-language styling, for example:

```
#language.us { color: #00ff00; }
#language.de { color: #ff0000; }
#language.fr { color: #0000ff; }
```

2026-10-30

---

Document: waybar-niri-language(5) from waybar 0.15.0-r2 (Chainguard OS)
