It does not return an empty string, it returns null. And it does so because you haven't defined a default value, i.e. something that should be returned if the language value does not exist.
This is the standard behaviour for the lang class, anything other is considered application specific, and should be dealt with in your application. I have apps that do:
class Lang extends \Fuel\Core\Lang { public static function get($line, array $params = array(), $default = null, $language = null) { if (func_num_args() < 3) { $default = '<span style="background-color;yellow;color:black;">'.$line.'</span>'; }