2012-11-27 5 views
0

양식 오류 메시지 그래서 완전히 새로운 아니에요 번역. 그러나 현재 프로젝트에 방해가되지 않도록 새로운 SkeletonApp을 설정하고 작동 중입니다. 나는 영어와 독일어 모두 필요한 번역을 추가했으며 그들은 예상대로 작업하고 있습니다. 그러나 양식 오류 메시지는 독일어 또는 다른 언어로 번역되지 않습니다.나는 알파 이후 ZF2을 사용하고

나는 설명서를 읽어했지만 그것은 단지 공장을 기반으로 설치하는 방법 번역 커버 그리고 그것은 module.config.php의 내부 설정하는 방법에 대한 더 자세한 사항이 없습니다. ZF1과 마찬가지로 ZF2에는 이미 번역 된 모든 양식 유효성 검사 오류 메시지가 들어있는 resources/languages ​​폴더가 있습니다. 나는 그것들을 사용하고 싶다! 그리고 이것은 내 문제가있는 곳입니다. 모든 양식으로이 작업을 수행하는 구성을 추가하는 방법을 모르겠습니다. SkeletonApp에 따라 내 module.config.php 파일에서

는 이미 번역에 대한 지원을했다, 그래서 나는 그 구성을 가져다가이 일을 한 것입니다 가정, 다른 배열을 추가했다.

'translator' => array( 
    'locale' => 'en_US', 
    'translation_file_patterns' => array( 
     array( 
      'type'  => 'gettext', 
      'base_dir' => __DIR__ . '/../language', 
      'pattern'  => '%s.mo' 
     ), 
     array( 
      'type'  => 'phparray', 
      'base_dir' => __DIR__ . '/../resources/languages', 
      'pattern'  => '%s.php' 
     ) 
    ) 
), 

그러나 이것은 유용하지 않습니다. 내 컨트롤러에는 다음과 같이 로케일을 설정하는 eventManager가 있습니다.

$ self-> getServiceLocator() -> get ('translator') -> setLocale ('en_US'); 나는 그래서 독일어, 영어에서 내 텍스트를 번역 않습니다 위에서 언급 한 바와 같이 독일어

에 대한 DE_DE로 변경 // 이렇게. 내 양식 오류 번역하기 위해 실종 무엇

? 이 상황에서 공유 할 수있는 지침을 주셔서 감사합니다.

답변

1

두 소스는 더 높은 우선 순위를 갖는 gettext에 소스와 같은 텍스트 도메인을 사용합니다. 즉, 로켈 + 텍스트 도메인 조합이 이미로드되어 있으므로 gettext 소스에서 로켈을로드 한 다음 중지합니다.

해결 방법 : 각 소스마다 다른 텍스트 도메인을 사용하십시오.

+0

감사합니다. 나는 전에 그것에 대해서 생각조차하지 않았다. 이것은 내 문제를 해결합니다 =) – Diemuzi

관련 문제