Files
ansible-common/roles/config_locale/tasks/main.yml

55 lines
2.0 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 {{ system_locale }}
become: true
community.general.locale_gen:
name: "{{ system_locale }}"
state: present
- name: ensure locale files are available for {{ system_language }}
become: true
community.general.locale_gen:
name: "{{ system_language }}"
state: present
- name: get current locale and language configuration
ansible.builtin.command:
cmd: localectl status
register: locale_status
changed_when: false
# - name: set facts locale_lang and locale_language
# ansible.builtin.set_fact:
# locale_lang: "{{ locale_status.stdout | regex_search('LANG=([^\n]+)', '\\1') | first }}"
# locale_language: "{{ locale_status.stdout | regex_search('LANGUAGE=([^\n]+)', '\\1') | default([locale_lang], true) | first }}"
- debug:
msg:
- "{{ locale_status.stdout | regex_search('LANGUAGE=([^\n]+)', '\\1') }}"
- "{{ locale_status.stdout | regex_search('LANGUAGE=([^\n]+)', '\\1') | default([locale_lang], true) }}"
- "{{ locale_status.stdout | regex_search('LANGUAGE=([^\n]+)', '\\1') | default([locale_lang], true) | first }}"
- name: set locale to '{{ system_locale }}'
become: true
changed_when: locale_lang != system_locale
ansible.builtin.command:
cmd: localectl set-locale LANG={{ system_locale }}
vars:
locale_lang: "{{ locale_status.stdout | regex_search('LANG=([^\n]+)', '\\1') | first }}"
- name: set language to '{{ system_language }}'
become: true
changed_when: locale_language != system_language
ansible.builtin.command:
cmd: localectl set-locale LANGUAGE={{ system_language }}
vars:
locale_language: "{{ locale_status.stdout | regex_search('LANGUAGE=([^\n]+)', '\\1') | default([locale_lang], true) | first }}"
# root@nfs-test:~# localectl status
# System Locale: LANG=de_DE.UTF-8
# LANGUAGE=en_US.UTF-8
# VC Keymap: (unset)
# X11 Layout: (unset)