우리는 스페인에 배포 할 iphone 응용 프로그램을 개발 중입니다. 여기에는 탭 표시 줄이 포함되어 있지만 더보기 및 수정을 스페인어로 변경하는 방법에 대해서는 아직 확실하지 않습니다. 나는 간단한 해결책이 있다는 것을 확신합니다 ... 누구나 그것을 할 수있는 방법을 알고 있습니까?탭 막대 요소의 언어 변경
==== 편집 한 ====
이것은 우리가 TabBar의 추가 방법이다. 보시다시피 각 버튼에 대해 tabBarItem을 만들지 만 More 버튼은 5 개 이상있을 때 자동으로 제공됩니다 (예상대로).
for (int i = 0; i < [buttonNames count]; i++) {
switch (i) {
case 1:
viewController = [[fotos alloc] init];
break;
case 2:
viewController =[[videos alloc] init];
break;
case 3:
viewController =[[deportes alloc] init];
break;
default:
viewController = [[MyAppViewController alloc] initWithCategory:i strCategory:[tempNames objectAtIndex:i]];
break;
}
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:viewController];
UITabBarItem *tabBarItem = [[UITabBarItem alloc] initWithTitle:[buttonNames objectAtIndex:i] image:[UIImage imageNamed:[imgNames objectAtIndex:i]] tag:i];
nav.tabBarItem = tabBarItem;
[controllers addObject:nav];
[viewController release];
[nav release];
[tabBarItem release];
}
// Create the toolbar and add the view controllers
tabBarController = [[UITabBarController alloc] init];
[tabBarController setViewControllers:controllers animated:YES];
tabBarController.customizableViewControllers = controllers;
tabBarController.delegate = self;
// Set up the window
[window addSubview:tabBarController.view];
[window makeKeyAndVisible];
==== 해결 ====
내가 필요한 모든 내 프로젝트에 es.lproj 디렉토리이었다. Xcode (파일> 새 파일 ...> Mac OS X/기타> 문자열 파일)에 새 파일을 만들고 Localizable.strings이라는 이름을 지정하고 es.lproj에 저장합니다. 현지화가 필요한 문자열은 모두이 파일에 정의해야하지만 OS에서 생성 된 다른 모든 문자열 (TabBar의 추가, 편집 및 완료 버튼, 비디오 컨트롤 등)은 자동으로 번역됩니다.
안녕하세요, 귀하의 답변에 감사드립니다. 그게 내가 생각한 것인데, 비록 내 아이폰이 스페인어로 구성되어있다 할지라도 어떤 이유로 모든 라벨이 영어로되어있다. "내장 된 정의 된 유형"을 사용하고 있는지 어떻게 알 수 있습니까? 내 편집을 참조하십시오. 도움이 될 것입니다. 감사합니다. – Antonio
'buttonnames' 배열로 값을 오버라이드하기 때문에 인터페이스 빌더에서 미리 정의 된 타입을 사용하고 있지 않습니다. 이것 좀 봐 : http://www.stone.com/The_Cocoa_Files/Internationalize_Your_App.html 조금 구식이지만 여전히 적용됩니다. – slf
음, 실제로 IB를 전혀 사용하지 않고 있습니다 ... 모든 섹션은 프로그래밍 방식으로 생성되지만 More 버튼은 스페인어와 동등한 것으로 변경되지 않습니다. 현재 로캘 : es_ES를 사용하더라도 마찬가지입니다. 나는 비디오를로드 할 때 알아 차렸다. \t MPMoviePlayerController * theMovie = [[MPMoviePlayerController alloc] initWithContentURL : [NSURL URLWithString : urlAddress]]]; 모든 컨트롤은 영어로되어 있습니다 ... 아이디어가 있으십니까? 감사합니다 – Antonio