locale: Add support for defining LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC, LC_TIME and LC_MESSAGES.
This commit is contained in:
parent
84ff9be696
commit
8c6f0099a0
1 changed files with 62 additions and 18 deletions
|
@ -5,44 +5,88 @@
|
||||||
#
|
#
|
||||||
# $lang:
|
# $lang:
|
||||||
# Value to set into $LANG environment. Defaults to en_US.
|
# Value to set into $LANG environment. Defaults to en_US.
|
||||||
|
# $collate:
|
||||||
|
# Value to set for $LC_COLLATE environment.
|
||||||
|
# $ctype:
|
||||||
|
# Value to set for $LC_CTYPE environment.
|
||||||
|
# $monetary:
|
||||||
|
# Value to set for $LC_MONETARY environment.
|
||||||
|
# $numeric:
|
||||||
|
# Value to set for $LC_NUMERIC environment.
|
||||||
|
# $time:
|
||||||
|
# Value to set for $LC_TIME environment.
|
||||||
|
# $messages:
|
||||||
|
# Value to set for $LC_MESSAGES environment.
|
||||||
#
|
#
|
||||||
# === Sample usage
|
# === Sample usage
|
||||||
#
|
#
|
||||||
# class { "locale":
|
# class { "locale":
|
||||||
# lang => "en_US.ISO8859-1",
|
# lang => "en_US.ISO8859-1",
|
||||||
|
# ctype => "en_US.UTF-8",
|
||||||
# }
|
# }
|
||||||
#
|
#
|
||||||
class locale($lang="en_US") {
|
class locale(
|
||||||
|
$lang="en_US",
|
||||||
|
$collate=undef,
|
||||||
|
$ctype=undef,
|
||||||
|
$monetary=undef,
|
||||||
|
$numeric=undef,
|
||||||
|
$time=undef,
|
||||||
|
$messages=undef
|
||||||
|
) {
|
||||||
|
|
||||||
case $::operatingsystem {
|
case $::operatingsystem {
|
||||||
"centos": {
|
"centos": {
|
||||||
augeas { "i18n":
|
if versioncmp($::operatingsystemrelease, 7) < 0 {
|
||||||
context => $::operatingsystemrelease ? {
|
$config = "/etc/sysconfig/i18n"
|
||||||
/^[1-6]\./ => "/files/etc/sysconfig/i18n",
|
} else {
|
||||||
default => "/files/etc/locale.conf",
|
$config = "/etc/locale.conf"
|
||||||
},
|
|
||||||
changes => "set LANG ${lang}",
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"fedora": {
|
"fedora": {
|
||||||
augeas { "i18n":
|
if versioncmp($::operatingsystemrelease, 18) < 0 {
|
||||||
context => $::operatingsystemrelease ? {
|
$config = "/etc/sysconfig/i18n"
|
||||||
/^1[0-7]/ => "/files/etc/sysconfig/i18n",
|
} else {
|
||||||
default => "/files/etc/locale.conf",
|
$config = "/etc/locale.conf"
|
||||||
},
|
|
||||||
changes => "set LANG ${lang}",
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"debian","ubuntu": {
|
"debian","ubuntu": {
|
||||||
augeas { "i18n":
|
$config = "/etc/default/locale"
|
||||||
context => "/files/etc/default/locale",
|
|
||||||
changes => "set LANG ${lang}",
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
default: {
|
default: {
|
||||||
fail("locale module not supported in ${::operatingsystem}")
|
fail("locale module not supported in ${::operatingsystem}")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
augeas { "locale":
|
||||||
|
context => "/files${config}",
|
||||||
|
changes => [ "set LANG ${lang}",
|
||||||
|
$collate ? {
|
||||||
|
undef => "rm LC_COLLATE",
|
||||||
|
default => "set LC_COLLATE ${collate}",
|
||||||
|
},
|
||||||
|
$ctype ? {
|
||||||
|
undef => "rm LC_CTYPE",
|
||||||
|
default => "set LC_CTYPE ${ctype}",
|
||||||
|
},
|
||||||
|
$monetary ? {
|
||||||
|
undef => "rm LC_CTYPE",
|
||||||
|
default => "set LC_CTYPE ${monetary}",
|
||||||
|
},
|
||||||
|
$numeric ? {
|
||||||
|
undef => "rm LC_CTYPE",
|
||||||
|
default => "set LC_CTYPE ${numeric}",
|
||||||
|
},
|
||||||
|
$time ? {
|
||||||
|
undef => "rm LC_CTYPE",
|
||||||
|
default => "set LC_CTYPE ${time}",
|
||||||
|
},
|
||||||
|
$messages ? {
|
||||||
|
undef => "rm LC_CTYPE",
|
||||||
|
default => "set LC_CTYPE ${messages}",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue