2017-11-19 7 views
0

루마니아어와 영어 용으로 지역화 된 2 개의 문자열 파일이 있습니다.NSLocalizedString이 키 값을 가져 오지 않습니다.

영어 :

"invalidSum" = "Invalid amount" 

루마니아어 :

"invalidSum" = "Suma invalida" 

나는이 같은 경고에이 메시지를 사용

let titleAlert = NSLocalizedString("invalidSum", comment: "") 

    let sumAlert = UIAlertController(title: titleAlert, message: nil, preferredStyle: .alert) 
    sumAlert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil)) 
    present(sumAlert, animated: true, completion: nil) 
    } 

그러나, 때마다 두 파일에서 나는이 줄을이 경고 표시, 영어 번역에 "유효하지 않은 금액"이 아닌 "invalidSum"이라는 메시지가 표시되고 r에 대해 "Suma invalida"가 표시됩니다. 오만 지역화. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+2

세미 각 키/값 쌍의 끝에있는 -colon strings 파일 –

+0

Localizable.strings 권한을 설정 했습니까? 원하는 목표에 대해 지정 되었습니까? 관련 항목 : https://stackoverflow.com/questions/35732333/localization-not-working-swift –

+0

@MartinR 세미콜론이 누락되면 "데이터를 읽을 수 없습니다. 올바른 형식 "컴파일 타임 오류, 적어도 내 사건에서 일어나는 일이 ... –

답변

0

해결이

내 문제는 당신이 프로젝트 정보에서 새로운 언어를 선택할 때 나는 (Main.strings 파일로 엑스 코드가 자동으로 생성하는 파일을 그 새로운 문자열을 만든 것이 었습니다.

내가했다 "Localizable.strings"이라는 두 개의 새로운 Strings 파일을 만들고 한국어 용으로 하나를 지역화하고 루마니아어로 번역했습니다. 내가 작성한 문자열을 Main.strings에 복사 한 후 으로 복사했습니다. 이제는 매력과 같습니다.