Вы пропускаете знаки доллара, вы должны использовать
{$language->test}
Не уверен, что это проблема, хотя я не думал, что smarty выведет что-нибудь с синтаксисом, который вы указали. Ваш тестовый пример тоже не очень надежный, безопаснее использовать что-то вроде
array('test' => 'worked');
где ключ и значение разные. С вашим тестом smarty может печатать ключ, и вы не почувствуете разницу.
Используйте debug_print_var, чтобы определить вашу проблему. например,
$language: {$language|@debug_print_var}
users: {$language->users|@debug_print_var}
cse_subject: {$language->users->createSave_email_subject|@debug_print_var}