static function locale($language = false)
{
if (!$language) {
$language = l::current();
}
$default_locales = array('de' => array('de_DE.UTF8', 'de_DE@euro', 'de_DE', 'de', 'ge'), 'fr' => array('fr_FR.UTF8', 'fr_FR', 'fr'), 'es' => array('es_ES.UTF8', 'es_ES', 'es'), 'it' => array('it_IT.UTF8', 'it_IT', 'it'), 'pt' => array('pt_PT.UTF8', 'pt_PT', 'pt'), 'zh' => array('zh_CN.UTF8', 'zh_CN', 'zh'), 'en' => array('en_US.UTF8', 'en_US', 'en'));
$locales = c::get('locales', array());
$locales = array_merge($default_locales, $locales);
setlocale(LC_ALL, a::get($locales, $language, array('en_US.UTF8', 'en_US', 'en')));
return setlocale(LC_ALL, 0);
}