2011-04-21 1 views
15

.xib 파일에서 모든 현지화 가능 문자열을 추출하고 모든 파일을 단일 파일에 저장하는 방법을 찾고 있습니다. (다른 .strings, .plist 또는 뭔가 수)모든 XIB 파일에서 모든 현지화 가능 문자열을 하나의 파일로 추출하는 방법은 무엇입니까?

은 아마이 ibtool 포함하지만 난 단 하나의 번역 사전에 모든 병합하는 방법을 결정할 수 없습니다. 이 명령에

+0

답변을 찾았습니까? – Lukasz

+0

@ Lukasz 완전하지는 않지만 해결책이있을 때 나는 확실히 답변을 게시 할 것입니다. – sorin

답변

32

열기 단자와 CD 프로젝트의 루트 디렉토리 (또는 디렉토리 모든 XIB 파일을 저장) 입력 :

find . -name \*.xib | xargs -t -I '{}' ibtool --generate-strings-file '{}'.txt '{}' 

마법의 발견과 함께 작업 명령을 xargs는. -I 옵션은 자리 표시자를 생성합니다. -t는 자세한 출력만을위한 것입니다 (어떤 명령이 생성되어 실행되었는지보십시오). 동일한 디렉터리에 xib 파일과 이름이 같은 txts 파일을 생성합니다. 이 명령을 사용하여 출력을 하나의 파일로 결합 할 수는 있지만 여전히 좋은 시작점입니다.

함께 가입 : 당신은 유사한 터미널 명령을 사용하여 하나에 그 갓 만든 파일을 연결할 수 있습니다

:

find . -name \*.xib.txt | xargs -t -I '{}' cat '{}' > ./xib-strings-concatenated.txt 

이 명령은 하나 개의 파일 XIB - 문자열-연결된에 모든 문자열을 넣어 것입니다. 루트 디렉토리의 txt.

은 (당신이 원하는 경우)을 다시 발견하고 xargs를를 사용하는 일부 파일을 생성 삭제할 수 있습니다

find . -name \*.xib.txt | xargs -t -I '{}' rm -f '{}' 
+1

좋은 답변입니다. 그런 명령 행 도구를 만드는 법을 배울 수있는 웹 리소스가 있습니까? –

+0

@ TusharKoul Bash 스크립트 문서 및 자습서? ;-) – Lukasz

+0

예. 당신이 항상 언급하는 구체적인 자료를 가르쳐 주길 바랬습니다. 어쨌든, 나는 너무 게으른 느낌이 드는 것 같아. D –

5

이 지금 훨씬 더 쉽다.

엑스 코드에서,

다음 현지화

엑스 코드가 출력 전체 프로젝트의 모든 localisable 문자열이있는 XLIFF 파일 메뉴/편집/내보내기를 사용하여 프로젝트 (안 대상)을 선택합니다.

+0

이것은 xibs에서만 가져 옵니까? 또는 .m 파일에서도? –

+0

xib 또는 스토리 보드에서 가능한 모든 문자열을 포함합니까? F.ex : 모든 버튼 상태의 제목? – Lukasz