### Summary

Problem detected on community.grafana collection.
The CI fails because of the following error:
```
ERROR: Ansible could not initialize the preferred locale: unsupported locale setting
```

[Link to the github actions logs](https://github.com/ansible-collections/community.grafana/runs/7376131642?check_suite_focus=true).

Edit: I edited my workflow to let all the job run and disable fail-fast. It makes it visible that issue only happens on devel:
https://github.com/ansible-collections/community.grafana/runs/7376236257?check_suite_focus=true

### Issue Type

Bug Report

### Component Name

core ?

### Ansible Version

```console
devel

(`pip install https://github.com/ansible/ansible/archive/devel.tar.gz`)
```


### Configuration

```console
N/A
```


### OS / Environment

ubuntu 20.04.4

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->
On `community.grafana` collection
```yaml (paste below)
ansible-test integration -v --color --retry-on-error --requirements --python 3.8 --continue-on-error --diff --coverage
```



### Expected Results

No error related to locale.

### Actual Results

```console
ERROR: Ansible could not initialize the preferred locale: unsupported locale setting
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
try:
        try:
            cmd_bytes = [to_bytes(c) for c in cmd]
            env_bytes = dict((to_bytes(k), to_bytes(v)) for k, v in env.items())
            process = subprocess.Popen(cmd_bytes, env=env_bytes, stdin=stdin, stdout=stdout, stderr=stderr, cwd=cwd)  
        except OSError as ex:
            if ex.errno == errno.ENOENT:
                raise ApplicationError('Required program "%s" not found.' % cmd[0])
            raise
        if communicate:
            data_bytes = to_optional_bytes(data)
            stdout_bytes, stderr_bytes = communicate_with_process(process, data_bytes, stdout == subprocess.PIPE, stderr == subprocess.PIPE, capture=capture,
                                                                  output_stream=output_stream)
            stdout_text = to_optional_text(stdout_bytes, str_errors) or ''
            stderr_text = to_optional_text(stderr_bytes, str_errors) or ''
        else:
            process.wait()
            stdout_text, stderr_text = None, None
    finally:
        if process and process.returncode is None:
            process.kill()
            display.info('')  
            display.notice('Killed command to avoid an orphaned child process during handling of an unexpected exception.')
    status = process.returncode
    runtime = time.time() - start
    display.info('Command exited with status %s after %s seconds.' % (status, runtime), verbosity=4)
    if status == 0:
        return stdout_text, stderr_text
    raise SubprocessError(cmd, status, stdout_text, stderr_text, runtime, error_callback)
def communicate_with_process(