46 lines
1.5 KiB
YAML
46 lines
1.5 KiB
YAML
---
|
|
# 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 {{ locale_config_locale }}
|
|
become: true
|
|
community.general.locale_gen:
|
|
state: present
|
|
name: "{{ locale_config_locale }}"
|
|
|
|
- name: ensure locale files are available for {{ locale_config_language }}
|
|
become: true
|
|
community.general.locale_gen:
|
|
state: present
|
|
name: "{{ locale_config_language }}"
|
|
|
|
- name: get current locale and language configuration
|
|
register: locale_config_status
|
|
changed_when: false
|
|
ignore_errors: true
|
|
check_mode: false
|
|
ansible.builtin.command:
|
|
cmd: localectl status
|
|
|
|
- name: remember current LANG config
|
|
ansible.builtin.set_fact:
|
|
locale_config_current: "{{ locale_config_status.stdout | regex_search('LANG=([^\n]+)', '\\1') | first }}"
|
|
|
|
- name: print current config
|
|
ansible.builtin.debug:
|
|
msg: "LANG={{ locale_config_current }}"
|
|
|
|
- name: set locale to '{{ locale_config_locale }}'
|
|
become: true
|
|
changed_when: locale_config_current != locale_config_locale
|
|
ansible.builtin.command:
|
|
cmd: localectl set-locale LANG={{ locale_config_locale }}
|
|
|
|
- name: set language to '{{ locale_config_language }}'
|
|
become: true
|
|
changed_when: locale_language != locale_config_language
|
|
vars:
|
|
locale_language: "{{ locale_config_status.stdout | regex_search('LANGUAGE=([^\n]+)', '\\1') | default([locale_config_current], true) | first }}"
|
|
ansible.builtin.command:
|
|
cmd: localectl set-locale LANGUAGE={{ locale_config_language }}
|