2010-07-08 6 views
0

현재 나는 cakephp 솔루션 (closed source unfortunatelly)으로 작업 중이며 때때로 po 파일에 msgid 항목이 있어도 문자열이 변환되지 않는다는 사실을 알게됩니다. 원본 참조가 항목에없는 경우이 문제가 발생한다는 것을 알고있었습니다. 해당 문자열에 대한 소스 참조를 입력하거나 항목에서 모든 소스 참조를 제거하면 번역됩니다.PO 파일의 참고 사항 - cakephp 사용 : 번역에 어떤 영향을 주나요?

이것을 테스트하려면 번역 가능한 문자열 (__() 함수 사용)이있는 작은 cakephp 앱을 만들었지 만 동일한 동작을 얻을 수는 없습니다.

예컨대 :

#: /views/view1/add.ctp:6 
#: /views/view1/edit.ctp:6 
#: /views/view2/add.ctp:5 
#: /views/view2/edit.ctp:5 
msgid "Name" 
msgstr "localized name string" 

앱 1 : 더 번역 뷰 1에 해당 로케일에 대한 반응이 없습니다보다 내가 뷰 1 참조를 제거 할 수 있지만 뷰 2 작품을 번역합니다. 모든 참조를 모두 제거하면 작동합니다.

앱 2 (내 테스트) : 참조가 영향을 더하고있다, 그것이 될 수있는 방법을 모두

을 번역? 첫 번째 앱에서 테마 지정을 사용 중이며 문자열은 테마에 따라 다릅니다. 이것이 그러한 행동을 일으킬 수 있습니까?

다른 질문 :보기에서 새 파일을 만들면 po 파일에 새 문자열을 삽입하는 것이 가장 좋습니다. 새 빈 냄비를 추출 할 수는 있지만 괜찮습니다. 항상 po 파일을 검색하고 수동으로 삽입하면 시간이 많이 걸립니다. 내가 찾지 못한 더 나은 자동 방법이 있어야합니다. GNU/gettext 매뉴얼은이 과정을 이해하기에는 너무 복잡하다 : (

답변

1

나는 항상 poedit - http://www.poedit.net/을 사용한다.하지만 그다지 좋지는 않지만 여전히 좋지 않다. 당신을 위해 (이진) 파일을. 인내

은 참조를 관리하고 미주리를 생성합니다.

을 내가 Mac 및 우분투를 사용하고 Windows에서 과거에 그것을 사용하고 있습니다.에 대한

+0

감사합니다 좋은 po 편집기 팁, 그러나 어느 쪽의 질문에 대한 대답이 아닙니다. 어쨌든, 꽤 유용 :) – sipiatti

관련 문제