# lang/current
Get or set the process-wide current language. With no argument, returns the active language: the host's `--lang` flag if set, else `$LANG` with region/encoding stripped (`es_ES.UTF-8` → `"es"`, `C`/`POSIX` → `"en"`), else `"en"`. With an argument, sets it process-wide and returns the argument.
## Syntax
[lang/current]
[lang/current $lang]
## Parameters
- `$lang` — (optional) language code (string or keyword, e.g. `:fr` or `"fr"`)
## Examples
[lang/current] # → "es" (under LANG=es_ES.UTF-8) [lang/current :fr] # → :fr (sets process-wide) [lang/current] # → "fr"
## Returns
String when reading. When setting, the argument value as passed (keyword or string). `%Err{:message}` when the argument is not a string or keyword.
## See Also
`lang/get`, `lang/langs`, `lang/load`