그래서 저는 일본어에서 영어로 응용 프로그램을 현지화하고 있습니다.iOS 문자열 파일 충돌 - 소스 langage와 동일한 문자열, 대상이 다릅니다.
japanese에서는 "Mr." 와. "리"(/ ". 부인"), 그래서 나는 같은 것을 할 필요가 :
/* Salutation format for user (male) */
"%@様" = "Mr. %@";
/* Salutation format for user (female) */
"%@様" = "Ms. %@";
당신이 볼 수 있듯이, 일본 현지화는 두 경우 모두에서 동일한 문자열을 사용합니다. 문자열 파일에 동일한 '소스'(즉, 왼쪽) 문자열이있는 항목이 두 개 이상 포함되어있는 경우 '의견'을 사용하여 어떤 것이 사용되었는지 확인했습니다. 내가 틀렸어. 그리고 주석 매개 변수는 인간 번역가를위한 원조 일 뿐이며, 완전히 무시되었다. NSLocalizedString()
. 나는 응용 프로그램을 실행하는 경우
그래서, 코드 경로의 양쪽 아래에 상관없이 사용자의 성별, 같은 캐릭터 라인을 작성 : 그래서
NSString* userName;
BOOL userIsMale;
/* userName and userIsMale are set... */
NSString* format;
if(userIsMale){
// MALE
format = NSLocalizedString(@"%@様",
@"Salutation format for user (male)");
}
else{
// FEMALE
format = NSLocalizedString(@"%@様",
@"Salutation format for user (female)");
}
NSString* salutation = [NSString stringWithFormat:format, userName];
는, 어떻게 이런 경우에 대처해야 하는가?
나는 새로운 아이디어를 얻지 못합니다. 어리석은 것처럼 보이지만 "@ % @ like"를위한 공간을 주려고 시도 할 수 있습니다. 나는 "@ % @ 様"공백없이 다른 공백을 추가했습니다. 이것은 단지 시도입니다. 솔루션 –
으로 간주하지 말고 현지화 된 문자열 "% @ 様"= "Mr. % @"형식을 확인하십시오. 그것은 "key"= "value"로 시작합니다; 형식 u가 각 쌍의 시작 부분에 "@"를 추가했습니다. –
예, 내 Localizable.strings 예제의 구문이 잘못되었습니다. 수정 해 드리겠습니다. 고맙습니다. –