2012-01-08 2 views
0

IB는 값을 하드 코딩하는 대신 텍스트를 표시하는 구성 요소에 대해 지역화 된 키를 지정할 수 있습니까? 예를 들어, UILabel에서 국제화 된 텍스트를 표시하는 것이 코드를 통해이를 수행하는 유일한 방법일까요? IB와 같은 멋진 WYSIWYG 편집기를 사용할 때 이러한 PITA가 코드의 모든 레이블 텍스트를 설정해야하는 것처럼 보입니다. VB5에서이 기능을 다시 사용했다고 생각합니다!현지화는 Code를 통해서만 가능하며 Interface Builder에서 직접 할 수 있습니까?

답변

3

실제로 Interface Builder 사용자 인터페이스 (Xibs)를 지역화하기 위해 코드를 작성할 필요는 없습니다. Xcode를 사용하여 이러한 Xib의 현지화 된 버전을 만들 수 있습니다. Xcode 프로젝트에서 Xib을 선택하고 파일 검사기를 열면 유틸리티 패널에 현지화 섹션이 표시됩니다. + 버튼을 클릭하면 Xcode에서 선택한 언어의 버전이 만들어집니다. 그러면 텍스트를 번역하고 UI 요소 크기를 조정하거나 원하는대로 할 수 있습니다.

+0

감사합니다. UILabel에 textKey 속성이 있는데, textKey 소품이 설정되어 있으면 텍스트 묶음에서 text 속성을 가져옵니다. 즉, 나는 그러한 구성 요소를 쓰는 것을 막을 수있는 것이 아무것도 없다고 생각한다. – ThaDon

+0

"텍스트 키"속성이 없으며 "그리기"도 삭제해야합니다. 내가 그 주석을 타이프했을 때 너무 많은 카페인이 있었음에 틀림 없다. – ThaDon

1

코코아/AppKit의 일반적인 방법은 존재하는 파일을 다른 언어로 현지화하는 것입니다. 하지만 로컬 화하려는 유일한 파일은 nib/xib 파일과 문자열 파일뿐입니다.

Clafou는 nib 파일의 현지화 방법을 설명했습니다.

문자열 파일은 키 - 값 쌍을 포함하는 파일입니다. NSLocalizedString과 같은 함수를 호출하면 설정 한 키를 사용하여 쿼리 할 수 ​​있습니다.

Apple은 이러한 모든 기능을 문서화했습니다. 응답에 대한
Nib files
Strings files

관련 문제