2009-03-05 2 views
0

나는 아이폰 응용 프로그램의 국제화에 일하고 있어요, 나는 그들과 같이 현지화 집 번역 할 수 있도록 내 XIB 파일에서 문자열을 추출하는 ibtool을 사용하고 있습니다 :Cocoa/iPhone : ibtool이 xib 파일에 지역화 할 수없는 문자열을 출력하지 못하게하는 방법은 무엇입니까?

ibtool --generate-strings-file BlahBlahView.strings English.lproj/BlahBlahView.xib 

이의 문제입니다 그 .strings 파일을 내가 함께 모든 xib에 포함 된 문자열을 포함하고 실제로 내가 실제로 i18n에 대해 관심있는 하위 집합을 원한다. 이 문제를 해결하기위한 최상의 모범 사례가 있습니까? 이상 적으로 "This is localizable"또는 "This is not localizable"라고 말하기 위해 interface builder에 일종의 주석을 추가하고 ibtool을 실행할 때 localizable 문자열 만 출력하도록하고 싶습니다.

감사합니다.

편집 : 확인을 클릭하면 매개 변수가 약간 확장됩니다. 솔루션은 ibtool 만 사용할 필요는 없습니다. Ibtool + xib + 쉘 스크립트의 일부 데이터는 정상입니다. 그것이 작동하는 한!

답변

3

Ibtool은 문자열 파일 출력에서 ​​매우 자세한 정보이며 고유 한 원본 문자열 대신 object-id를 사용하여 생성합니다. 이 유형의 출력은 인터페이스 작성기를 다시 만들거나 xib 파일의 개체를 광범위하게 제어해야하지만 소프트웨어를 단순히 지역화하려는 경우에는 적게 사용할 때 매우 유용합니다.

Matteo at Digitalwaters.net은 ibtool의 출력을 이전 버전 인 nibtool에서 사용하는 형식으로 변환하는 방법을 찾았습니다. 이전 버전은 덜 강력했지만 훨씬 더 사용하기 쉽습니다. 더 많은 정보 here.

나는 Mac OS X 응용 프로그램의 현지화를 간소화하기 위해 스크립트를 다시 작성했으며 제대로 작동합니다. 행운을 빌어 요 :)

+2

참조 된 링크는 더 이상 유효하지 않습니다. 캐시 된 정보가 있습니까? –

1

나는 이것을 자동화 할 수 있다고 생각하지만, 몇 단계 만 거치면된다. ibtool을 사용하여 xib에서 임의의 속성을 추출 할 수 있으므로 지역화 할 수없는 항목의 태그를 특정 값 (예 : -1)으로 설정 한 다음 태그를 추출하고이를 사용하여 문자열 파일을 필터링하고 제거 할 수 있습니다. 원하지 않는 항목.

ibtool의 매뉴얼 페이지, 특히 -export 옵션을 확인하십시오.

0

ibtool 빈 문자열 항목을 출력하지 않습니다. 따라서 예를 들어, UILabel의 텍스트를 비워두면 ibtool --generate-strings-file의 출력에 포함되지 않습니다. 그런 다음보기 컨트롤러에서 요소의 텍스트를 설정할 수 있습니다.