diff --git a/tasks/configure.yml b/tasks/configure.yml
index 42e606d92aee5a90194087a5c96ceefac5abfc8d..e30049344916403107a60b346aac6692f0aa4900 100644
--- a/tasks/configure.yml
+++ b/tasks/configure.yml
@@ -10,7 +10,10 @@
     dest: "{{ '{}/locale.gen'.format(system_config_directory) }}"
     mode: 0644
 
-- name: activate '{{ locale }}'
+- name: activate '{{ locale | join(', ') }}'
   locale_gen:
-    name: '{{ locale }}'
+    name: "{{ locale_item | regex_replace('^([^\\.]+)(\\..*)?$', '\\1') }}"
     state: present
+  loop: '{{ locale }}'
+  loop_control:
+    loop_var: locale_item