본문 바로가기
FrameWork/ZendFrameWork

Zend_Translate - array 사용

by 백룡화검 2008. 8. 13.
$lang_en = array(
   'active' => 'active',
   'deactive' => 'deactive',
   'Value is empty, but a non-empty value is required' => 'Value is empty, but a non-empty value is required'
  );
  $lang_ko = array(
   'active' => '활성',
   'deactive' => '비활성',
   'Value is empty, but a non-empty value is required' => '값이 비었습니다. 값을 입력해주세요.'
  );
 
  $trsl = new Zend_Translate('array', $lang_en, 'en');
  $trsl->addTranslation($lang_ko, 'ko');

해당 문구를 사용하는 곳에서 아래와 같이 사용.

echo $trsl->_('active');

$this->method($trsl->_('active'));


한국어 로케일은 ko_KR 또는 ko 가능.

Zend_Registry::set('Zend_Translate', $trsl);
레지스트리에 등록하면 Zend_Form, Zend_Validate, Zend_View_Helper_Translate 에서 자동으로 관련된 항목을 변경해줌.
'label' => 'active' 라고 해도 활성으로 표시됨.
 
 
새치소년  $lang_en = array(
'active' => 'active',
'deactive' => 'deactive',
Zend_Validate_NotEmpty::IS_EMPTY => 'Value is empty, but a non-empty value is required'
);
$lang_ko = array(
'active' => '활성',
'deactive' => '비활성',
Zend_Validate_NotEmpty::IS_EMPTY => '값이 비었습니다. 값을 입력해주세요.'
);

validate error message 변경은 message template 값 사용.