I cannot comment, hence an answer. But did you set the app's language in AppController::beforeFilter()?
Configure::write('Config.language', 'spa');
In a production environment, you would obviously set that value according to each user's individual preferences.
EDIT:
Okay, upon another look I may have misunderstood you. Please try the following in your model:
function __construct($id = false, $table = null, $ds = null) {
$this->validate['fname']['required']['message'] = __('Please Enter Your FristName.');
parent::__construct($id = false, $table = null, $ds = null);
}
If this works, then something strange is going on with your CakePHP installation since validation-messages should internally automatically call __().