5minho / DreamRecorder

mino & bran BoostCamp Project
6 stars 0 forks source link

LocalString 구조체 생성 #18

Closed 5minho closed 7 years ago

5minho commented 7 years ago

지역화에 필요한 문자열들을 저장할 구조체 타입 객체 만들기

5minho commented 7 years ago

Localizable.strings 파일을 만들고 그 파일에 key : value 형식으로 각 나라의 문자열을 등록했다

korean

"Dreams" = "꿈 리스트";
"title" = "제목";
"please enter a title" = "제목을 입력해주세요.";
"Enter a title" = "제목 입력";
"Save" = "저장";
"No title" = "제목 없음";
"Cancel" = "취소";
"Recognize..." = "음성인식 중...";
"end recognize" = "음성인식 완료";

english

"Dreams" = "Dreams";
"title" = "제목";
"please enter a title" = "please enter a title";
"Enter a title" = "Enter a title";
"Save" = "Save";
"No title" = "No title";
"Cancel" = "Cancel";
"Recognize..." = "Recognize...";
"end recognize" = "end recognize";

이런식으로 저장하고 String extension 으로 쉽게 지역화를 할 수 있었다.

extension String {

    var localized: String {
        return NSLocalizedString(self, comment: "")
    }

    func localized(comment: String) -> String {
        return NSLocalizedString(self, comment: comment)
    }

}
5minho commented 7 years ago

Localizable.strings 파일을 만들때 파일명을 꼭 Localizable으로 해야한다. 처음에 잘 몰라서 임의로 지정 했다가 문자열 지역화가 안되서 매우 당황했다