2012-05-10 4 views
1

나는 다중 언어 환경에서 작동하는 iOS 앱을 작성 중입니다. 따라서 프로그램은 시스템 언어와 다른 언어로 작동 할 수 있습니다. 예 : 내 전화가 영어로 실행되고 프로그램이 독일어 또는 프랑스어로 실행됩니다. 모든 텍스트가 올바른 언어로 표시됩니다. 내가 VoiceOver를을 수 있도록 노력하고탐색 표시 줄에서 VoiceOver 언어를 어떻게 설정할 수 있습니까?

- (void)setVoLanguage:(NSObject*)object 
{ 
    if (prefLanguage == 0){ 
    [object setAccessibilityLanguage:@"de-DE"]; 
    } else { 
    [object setAccessibilityLanguage:@"fr-FR"]; 
    } 
} 

네비게이션 컨트롤러에있는 텍스트를 말하는 :

는 이제 VoiceOver를 다음과 같은 방법을 사용하여 미세 대부분의 시간을 작동 올바른 언어의 텍스트를 말하는 것으로, 원하는 다음 방법 중 하나를 사용하여 올바른 언어 :

[self setVoLanguage:navController]; 
[self setVoLanguage:navController.title]; 
[self setVoLanguage:navController.navigationBar.topItem]; 
[self setVoLanguage:navController.navigationBar.backItem]; 
[self setVoLanguage:navController.navigationBar.topItem.title]; 
[self setVoLanguage:navController.navigationBar.backItem.title]; 
[self setVoLanguage:navController.navigationBar.topItem.titleView]; 
[self setVoLanguage:navController.navigationBar.backItem.titleView]; 

그러나 결과가 탐색 모음에서 독일어 나 프랑스어 텍스트가 항상 영어 음성을 사용하여 말 것을.

탐색 표시 줄에서 VoiceOver 언어를 전환하는 방법을 아는 사람이 있습니까?

감사합니다.


업데이트 :

- (NSString *)accessibilityLanguage { 
    cnlAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; 

    if (appDelegate != nil) { 
     if ([appDelegate prefLanguage] == 0) { 
      return @"de-DE"; 
     } else { 
      return @"fr-FR"; 
     } 
    } 
    return @""; // this line should never be reached 
} 

내 AppDelegate에 객체가 현재 언어를 저장하는 객체입니다 : 여기 나 아이폰 OS 5.1.1을 사용하여 작동 주위에 작업입니다. 모든 객체에 대한 accessibilityLanguage 덮어 쓰기가 문제를 해결하는 것으로 보입니다.

다른 사람에게 유용 할 수 있기를 바랍니다.

답변

0

iOS 개발자 라이브러리를 살펴보면 navigationController 대 navController라고 생각됩니다. 너 그거 해봤 니?

+0

navController는 내 객체의 이름입니다. 그래서 이것은 o.k입니다. Apple이 지금 iOS의 버그임을 확인했습니다. 따라서 탐색 바에 VO 언어를 설정할 수는 없습니다. – mschmitt

+0

그들이 확인한 것이 좋습니다. –

+1

마지막으로 나는 당신과 공유하고 싶은 일을 발견했습니다. 위의 편집보기를 참조하십시오. – mschmitt

관련 문제