diff --git a/README.md b/README.md index 1d513b6..4e02404 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,26 @@ By default, en and de locales will be generated. class { 'locales': } ``` +Configure a bunch of locales. + +``` + class { 'locales': + locales => ['en_US.UTF-8 UTF-8', 'fr_CH.UTF-8 UTF-8'], + } +``` + +Advanced usage allows you to select which locales will be configured as well as the default one. + + +``` + class { 'locales': + default_locale => 'en_US.UTF-8', + locales => ['en_US.UTF-8 UTF-8', 'fr_CH.UTF-8 UTF-8'], + } +``` + ## Other class parameters +* locales: Name of locales to generate, default: ['en_US.UTF-8 UTF-8', 'de_DE.UTF-8 UTF-8'] * ensure: present or absent, default: present * default_locale: string, default: 'C'. Set the default locale. * autoupgrade: true or false, default: false. Auto-upgrade package, if there is a newer version. diff --git a/manifests/init.pp b/manifests/init.pp index 18c3bb4..d182822 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -45,7 +45,7 @@ class locales ( $locales = [ 'en_US.UTF-8 UTF-8', 'de_DE.UTF-8 UTF-8', ], $ensure = 'present', - $default_locale = $locales::params::default_locale, + $default_locale = undef, $autoupgrade = false, $package = $locales::params::package, $config_file = $locales::params::config_file, @@ -95,14 +95,16 @@ notify => Exec['locale-gen'], } - file { $default_file: - ensure => $ensure, - owner => 'root', - group => 'root', - mode => '0644', - content => template("${module_name}/locale.erb"), - require => $update_locale_require, - notify => Exec['update-locale'], + if $default_locale { + file { $default_file: + ensure => $ensure, + owner => 'root', + group => 'root', + mode => '0644', + content => template("${module_name}/locale.erb"), + require => $update_locale_require, + notify => Exec['update-locale'], + } } exec { 'locale-gen': diff --git a/manifests/params.pp b/manifests/params.pp index 51458a7..58547bf 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -1,9 +1,13 @@ class locales::params { + + $config_file = $::operatingsystem ? { + Debian => '/etc/locale.gen', + Ubuntu => '/var/lib/locales/supported.d/local', + } + case $::operatingsystem { /(Ubuntu|Debian)/: { $package = 'locales' - $default_locale = 'C' - $config_file = '/etc/locale.gen' $default_file = '/etc/default/locale' $locale_gen_cmd = '/usr/sbin/locale-gen' $update_locale_cmd = '/usr/sbin/update-locale'