--- # got this from here: # https://serverfault.com/questions/959026/how-do-i-generate-and-set-the-locale-using-ansible/981742#981742 - name: ensure locale files are available for {{ set_locale_locale }} become: true community.general.locale_gen: name: "{{ set_locale_locale }}" state: present - name: ensure locale files are available for {{ set_locale_language }} become: true community.general.locale_gen: name: "{{ set_locale_language }}" state: present - name: get current locale and language configuration register: locale_status changed_when: false ignore_errors: true ansible.builtin.command: cmd: localectl status - name: set locale to '{{ set_locale_locale }}' become: true changed_when: locale_lang != set_locale_locale vars: locale_lang: "{{ locale_status.stdout | regex_search('LANG=([^\n]+)', '\\1') | first }}" ansible.builtin.command: cmd: localectl set-locale LANG={{ set_locale_locale }} - name: set language to '{{ set_locale_language }}' become: true changed_when: locale_language != set_locale_language vars: locale_language: "{{ locale_status.stdout | regex_search('LANGUAGE=([^\n]+)', '\\1') | default([locale_lang], true) | first }}" ansible.builtin.command: cmd: localectl set-locale LANGUAGE={{ set_locale_language }}