2012-01-13 1 views
1

내 앱에 프랑스어 버전을 추가했습니다. Xcode 4에서는 Localizable.strings을 선택하고 File Inspector에서 새로운 (프랑스어) 지역화를 추가하는 경우에 불과했습니다. 그런 다음 생성 된 새로운 Localizable.strings (프랑스어) 파일에 프랑스어 번역 (Word - 유니 코드 16)을 복사/붙여 넣었습니다.iOS - 일부지만 모든 문자열이 현지화 된 것은 아닙니다.

전화 (둘 다 장치 및 시뮬레이터 모두)의 언어를 프랑스어로 변경하고 현재 설치된 응용 프로그램을 제거하고 정리 및 구축했습니다.

안녕하세요. 프랑스어로되어 있습니다. 그곳에는 영어로 남아있는 몇 줄이 있습니다. 이 라인에 공통 요소 없을 것 같다 - 중 악센트, 형식 또는 arguments.For 예 :

title = [NSString stringWithFormat:NSLocalizedString(@"You've just met %@", @"New friend message title"), self.friend.name]; 

/* New friend message title */ 
"You've just met %@" = "Vous venez de rencontrer %@"; 

스틸로 나타납니다 '당신은 방금 만난 ...'오히려 프랑스어보다. 다른 모든 것이있을 때이 몇 줄이 왜 번역되지 않는지 나는 알 수 없습니다. 도움이 많이 감사!

감사합니다.

+0

좀 더 많은 소스 코드를 공유 할 수 있습니까? 나는 영어와 프랑스어 localizable.strings 위의 예제에 대한 라인을보고 싶습니다. 또한 앱을 삭제하고 현지화를 위해 다시 설치할 필요가 없습니다. 하지만 언어를 변경하기 전에 Xcode로 실행중인 앱을 중지해야합니다. – Daniel

+0

나는 똑같은 문제에 직면 해있다. 텍스트를 잘라내어 Localizable.string에 붙여 넣기 만하면됩니다. 나는 그것이 기술적이 아니지만 그것은 나를 위해 일하는 것입니다 – Hiren

+0

"You 've just met"에 대한 프랑스어 텍스트를 Localizable.strings 파일에 설정 했습니까? –

답변

1

Microsoft Word에서 일반 텍스트 편집기 아니며, 그것은 특정 문장 부호 보면 "스마트"버전 (따옴표, 따옴표, 대시)를 대체하여 텍스트를 수정합니다 조금 더 좋지만 임의의 유니 코드 코드 포인트가있을 수 있습니다.

"방금 만났습니다"의 아포스트로피가 문자열 소스 파일에서와 정확히 똑같은 문자인지 확인하는 것이 좋습니다. 문자열 파일의 "방금 만났습니다"를 코드의 NSLocalizedString 문으로 직접 복사 한 다음 그 내용이 도움이되는지 확인하십시오.

많은 두통을 원한다면 컴퓨터가 읽을 수있는 문자열을 생성하는 데 Microsoft Word를 사용하지 않는 것이 좋습니다.

+0

그 트릭을 한 것으로 보인다! 방금 문자열 파일에서 '을 다시 입력하면 이제는 프랑스어가 나타납니다. 이상한 것은 내가 약 1000 개의 선을 가지고 있는데, 그 중 많은 부분에 어포 스트로피가 붙어있다. Word에서 번역 작업을하는 사람이 실수로 그것을 바꿀 수도 있습니다. 번역자가 .strings 파일을 열 수 없기 때문에 Word가 필요한 악의로 보입니다. 익숙한 것이 필요했습니다. 그러나 Word에서 .strings 파일을 열면 UTF16 형식을 유지하면 안됩니다. 번역자에게 친숙한 형식의 문서를 제공 할 수있는 더 좋은 방법이 있습니까? 아니면 적어도 그것을 변환. – Smikey

+0

아니요, Word에서 유니 코드를 제대로 지원하지 않으므로 UTF16이 보존되지 않습니다.번역사에게 MS Word 환경 설정에서 "자동 삽입 스마트 인용 부호"기능이 비활성화되어 있는지 확인하도록 요청할 수 있지만 가장 안전한 방법은 이전에했던 것처럼 수동으로 모든 파일을 수동으로 확인하는 것입니다. –

1

NSLocalizedString 함수에서 높은 아스키 문자를 사용할 수 없습니다.
는 단순히 키 문자열을 변경 수정하려면 :

title = [NSString stringWithFormat:NSLocalizedString(@"YouveJustMetStr", @"New friend message title"), self.friend.name]; 

"YouveJustMetStr" = "Vous venez de rencontrer %@"; 
+0

MS 워드에서 문자열을 복사하여 붙여 넣기하여 실제로 '스마트 한'아포스트로피 문자를 사용하지 않는 한 높은 아스키 문자가 아니라는 점을 제외하고는 그럴듯한 설명처럼 보입니다. 그리고 그것은 단지 'StackOverflow . –

+0

현재 프로젝트에서 지역화 된 문자열이 작동하지 않지만 다른 프로젝트에서는 작동하고 있습니다. 오류가 없습니다. 제발 도와주세요 –

관련 문제