2011-12-20 4 views
0

저는 iPhone 응용 프로그램 개발에 익숙합니다 (Xcode 4.2 사용). 모든 문자열, 캡션 등을 내부적으로 번역 할 방법이 있는지 궁금합니다. 하나.iPhone 응용 프로그램의 국제화

내가 생각하고있는 아이디어는 모든 것을 또 다른 옵션은 룩업 테이블 확인하는 것입니다 따라

전역 변수로 언어를 저장하고 번역하는 NSUserDefaults를 사용하는 것입니다

(는 목표 - C에서 심지어 수 있습니까?)

감사합니다.

+0

무엇을 기대합니까? 당신은 그들을 하나 하나만 번역 할 수 있습니다 ... 애플은 마법 - 번역 도구를 공개하지 않았지만 어떤면에서는 가능할 것입니다. –

답변

0

NSLocalizedString에 대한 설명서를 찾으십시오. .xib 파일을 현지화하는 방법 (English.lproj, de.lproj, fr.lproj 등에서 현지화 된 사본을 만듭니다).

1

당신은 언어 당 (NSLocalizedString(@"<#key#>", @"<#comment#>") 하나 개의 파일 (이름 Localizable.strings을 사용할 수 있습니다. 위의 기능을 사용하는 경우가 Localizable.strings 파일을 생성하는 맥 앱 스토어에서 사용할 수있는 앱 Linguan()를 사용할 수 있습니다.

genstrings이라는 명령 줄 도구가있어 파일을 만들지 만 Linguan 앱이 몇 분 안에 비용을 지불하게됩니다.

더 나은 번역을 제공하고 키에 대한 컨텍스트.

0

작성해야 할 것은 모두 t입니다. 그는 번역하려는 각 언어의 키 - 값 쌍으로 파일을 만들고 그에 따라 이름을 지정합니다 (예 : _en, _fr 등).

그런 다음 당신이해야 할 모든이 방법에 메시지를 보낼 수 있습니다 :

NSLocalizedString(@"myKey", nil) 

을 그리고 이것은 현재 아이폰의 구성은 어떤 언어로 지역화 된 문자열을 반환합니다.

Localizing iPhone apps

1

당신은 여기에 프로세스의 단계별 튜토리얼 읽을 수 있습니다 : 여기

iPhone Localization Tutorial

을 높은 것

이 문서에서는 당신이 알아야 할 기초를 커버 위의 기본 개요 (위의 자습서에는 세부 정보가 있습니다) :

1) 코드 된 str 전화 : NSLocalizedString(@"My text", @"Context for the translator")

2) genstrings 터미널 명령을 사용하여 모든 문자열을 내 보냅니다.

3) 영어 (소스) 문자열이 모두 포함 된 Localizable.strings이라는 텍스트 파일을 만듭니다. 다음과 같이 보입니다 :

/* Context for the translator */ 
"My text" = "My text"; 

번역자에게 파일을 보냅니다. "My text" = "Mi texto";

4) 당신은 적절한 언어 폴더에 각 번역 Localizable.strings 파일을 배치 : en.lproj, FR 그들은이 같은 오른쪽을 번역 할 수 있습니다.lproj, es.lproj

앱이 iPhone에로드되면 사용자의 언어 설정을 확인합니다. 사용자가 프랑스어를 시스템 언어로 선택한 경우 Localizable.stringsfr.lproj 폴더 파일이로드됩니다. 번역되지 않은 문자열이있는 경우 해당 언어의 기본값은 영어 (또는 소스 언어가 무엇이든간에)입니다.

전체 자습서를 따르고 파일/폴더 이름이 정확해야합니다.