2013-05-16 1 views
0

저는 일하고있는 iPhone 앱에 현지화를 적용하고 있으며 천천히 모든 텍스트/문자열/라벨을 응용 프로그램 전체에 걸쳐 Localizable.strings을 통해 올바른 언어 변환을 동적으로 검색하려고합니다. 제대로 작동하는지 확인하기 위해 두 가지 언어로 테스트합니다. 당연히 영어와 체코어요.다른 언어를 사용할 때 UILabel이 초기화되지 않는 이유는 무엇입니까? (iOS 현지화)

지금까지이 특별한 UILabel까지 아무런 문제가 없었습니다.

영어로 iPhone 및 앱을 사용하는 동안 전혀 문제가 없습니다. 그러나 iPhone 언어를 체코 어로 변경하고 앱을 테스트 할 때 내 UILabel 중 하나가 초기화되지 않습니다.

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    NSLog(@"show: %@", self.segmentedControlTitle); 

    self.segmentedControlTitle.text = @"test"; 

    // Other code 
} 

는 기본적으로 다른 언어로, 그냥 스토리 보드에 설정된 자리 표시 자 텍스트를 표시 :이 같은 텍스트를 강제 경우에도 문제가되지 않습니다. 지금까지 설정 한 다른 모든 제목은 실제 현지화 방법을 사용해도 완벽하게 작동합니다.

- (void)viewDidLoad 
{ 
    // The other code... 

    [self.segmentedControl setTitle:NSLocalizedString(@"VIEWALL_all", nil) 
       forSegmentAtIndex:0]; 
} 

아이디어가 있으십니까? 원한다면 더 많은 코드를 게시 할 수 있지만 모든 것이 영어로 작동하는 것처럼 모든 것이 올바르게 설정되었다고 가정합니다. 그것은 내가 간과 한 간단한 것이어야합니다. 나는 Clean을 시도했다. 시뮬레이터와 아이폰에서 앱을 삭제하고 빌드를 다시 시도했다 ... 같은 이야기. 동료의 iPhone에서도 발생합니다.

미리 감사드립니다.

데이브

+0

'초기화하지 않겠습니까?' 이 특별한 'UILabel'이 나타나지 않을 것이라고 말하는 것입니까? –

+0

물론 죄송합니다. Null이므로 텍스트 속성을 설정할 수 없습니다. 내가 NSLog() 객체를 얻는지를 알기 위해 라벨을 시도하고 "null"을 얻는다. 그래서 초기화하지 않는다고 가정하고있다. 영어로 된 경우 NSLog()는 전체 객체를 출력에 표시합니다. – amonett

+1

스토리 보드가 현지화되어 있습니까? –

답변

0

신용 칼 Veazey에 간다 (나는 또한 아이폰 OS dev에 참고하시기 바랍니다 여전히 조금 새로운 해요). 귀하의 의견은 이것을 이해하는 데 도움이되었습니다.

그래서 현지화를 적용 할 때 실제로 스토리 보드에 적용 할 수 있다는 교훈을 얻었습니다. 따라서 각 언어에 대해 별도로 작성해야한다는 교훈을 얻었습니다.

그래서 내 스토리 보드의 영어 버전에는 IBOutlet 연결이 있지만 체코는 그렇지 않습니다.

Localizable.strings 파일에서 프로그래밍 방식으로 모든 문자열을 적용 할 예정이므로 스토리 보드를 현지화 할 필요가 없습니다. 이후 체코 버전을 제거하고 코드로 모든 것을 적용하고 있습니다. 나는 이것이 어쨌든 더 나은 방법이라고 생각한다.

다시 한번 감사드립니다!

관련 문제