2012-02-27 3 views
1

저는 PHP로 Symfony2를 개발 중입니다. 서로 다른 나뭇 가지보기에서 모든 번역 키를 찾아 메시지 파일에 쉽게 나열하고 싶습니다. 내 다른 번역되는 모든 키/텍스트를 나열 할 수 .sh로 스크립트를 실행하고 싶습니다여러 파일에서 특정 패턴 찾기

{{ "my text" | trans }} or {{ "my_key" | trans }} or {{"my_key"|trans}} or {{"my text"|trans}} 

:

기본적으로, 내 나뭇 가지 템플릿에서, 변환 된 키/텍스트처럼 보인다 템플릿 파일.

다른 프로젝트에

, 나는 랭 같은 것을 확인했다 ('MY_KEY')과 거의 근무 명령은 다음 중 하나입니다 :

find . -type f -name '*.php' -execdir egrep -o -- "->lang\('[^']*" {} \; | sed -e "s/^.*->lang('//g" 

어쩌면이 같은베이스, 어떻게 쉽게 찾을 수 내 파일에서 내 다른 번역?

많은 도움을 얻으세요.

답변

1

나는 find . -type f -name '*.php' | xargs egrep -Ho '\{\{[^|]*\|[^}]*\}\}'의 곡을 제안합니다. 이렇게하면 특정 파일에서 키/텍스트 쌍의 발생을 찾을 수 있습니다. 이 목록을 받으면 예를 들어 원하는대로 추가로 처리 할 수 ​​있습니다. 사용을 정상화하고 어떻게 든 일치시킵니다. {{ "my text" | trans }}{{ "my_key" | trans }}을 같은 키의 서로 다른 용도로 함께 사용합니다 (교향곡을 알지 못하므로 실제로는 동등한 지 여부와 키의 '붕괴'가 맞는지 알 수 없습니다).

+0

예, 좋네요! 어떻게하면 {{}} 내용을 가져 와서 파일이 중요하지 않고 더 많은 치료를하도록 할 수 있습니다 :) #thx! – guillaumepotier

+0

니스, 나는 이전 명령과 올바른 패턴을 사용하여 발견했습니다. Thx 젠체하는 사람! – guillaumepotier

+0

흠, 이제 내 명령과 함께 : find src/-type f -name '* .twig'-execdir egrep -o - "\ {\ {[^ |() {] * \ | [(trans) ^}] * \} \} "{} \; | sed 's/\ ([a-z] * \). */\ 1 /'나는 {{ "내 whith '따옴표를'trans 안에"| trans}} 또는 {{ 'my other trans'| trans}}. insinde ''또는 '' ''무엇을 얻는가? 고마워! – guillaumepotier