バリデーションエラーメッセージ多言語化

Validateエラーメッセージを多言語対応させるため、以下のビヘイビア導入させていただきました。

GitHub - ichikaway/cakeplus: adding some functions to cakephp
バリデーションメッセージをDryにしつつ国際化 - cakephperの日記(CakePHP, Laravel, PHP)


http://github.com/ichikaway/cakeplus/blob/master/models/behaviors/validation_error_i18n.php
の説明に概要書いてあるのですが、躓いたのが設置場所。

最初、これをapp/model/behavoir以下に設置してしまっていたので読み込めませんでしたが、正解は

plugins/cakeplus/models/behaviors/

以下。

他はvalidation_error_i18n.php冒頭のコメント通りでほぼ問題なし。

ただ、


以下ソース。


app/model/user.php

<?php
class User extends AppModel {

	var $name = 'User';

	var $validate = array(
		'username' => array(
			'notempty' => array(
				'rule' => 'notEmpty',
			),
		),
		'password1' => array(
			'notempty' => array(
				'rule' => 'notEmpty',
			),
		),
		'password2' => array(
			'notempty' => array(
				'rule' => 'notEmpty',
			),
		)
	);


app/model/app_model.php

<?php
class AppModel extends Model {
	var $actsAs = array('Cakeplus.ValidationErrorI18n');

	function beforeValidate(){
		$error_messages = array(
			'notempty' 	=> __('Please be sure to input.'),
			'between' => __('Between %2$d and %3$d characters.',true),
		);
		$this->setErrorMessageI18n($error_messages, false);

		$this->replaceValidationErrorMessagesI18n();
		return true;
	}
}