iOS Solution

문자열 현지화, 로컬라이제이션, localization

vulcanus 2022. 9. 2. 09:45
import Foundation

struct Langs
{
    var ko : String = ""
    var en : String = ""
}

class LocalMSG
{
    static var messages : [Langs] = []
    static var currentLangCode : String = ""
    
    static func setup()
    {
        // 언어 코드를 저장해 놓는다.
        Self.currentLangCode = Locale.current.languageCode!
        
        // korea : ko
        // english : en (USA)
        // english :     (England)
        createMessages()
    }
    
    static func createMessages()
    {
        let m0 = Langs(ko: "지출", en:"Expenditure")
        Self.messages.append(m0)
        
        let m1 = Langs(ko: "선택", en:"Select")
        Self.messages.append(m1)
        
        let m2 = Langs(ko: "취소", en:"Cancel")
        Self.messages.append(m2)
        
        let m3 = Langs(ko: "저장", en:"Save")
        Self.messages.append(m3)
        
        let m4 = Langs(ko: "모두 선택", en:"Select All")
        Self.messages.append(m4)
        
        let m5 = Langs(ko: "모두 해제", en:"Deselect All")
        Self.messages.append(m5)
        
        let m6 = Langs(ko: "삭제", en:"Delete")
        Self.messages.append(m6)
        
        let m7 = Langs(ko: "예산", en:"Budget")
        Self.messages.append(m7)
        
        let m8 = Langs(ko: "보기", en:"View")
        Self.messages.append(m8)
        
        let m9 = Langs(ko: "입력", en:"Input")
        Self.messages.append(m9)
        
        
        let m10 = Langs(ko: "이름과 가격을 입력하세요",
                        en:"Please enter name or price")
        Self.messages.append(m10)
        
        let m11 = Langs(ko: "폴더는 하위 항목을 1개 이상 가져야 합니다",
                        en:"Folder must have at least one sub item")
        Self.messages.append(m11)
        
        
        let m12 = Langs(ko: "알림", en:"Alert")
        Self.messages.append(m12)
        
        let m13 = Langs(ko: "확인", en:"OK")
        Self.messages.append(m13)
        
        
        let m14 = Langs(ko: "정말 저장하시겠습니까?", en:" Are you sure you want to save?")
        Self.messages.append(m14)
        
        let m15 = Langs(ko: "품명", en: "NAME")
        Self.messages.append(m15)
        
        let m16 = Langs(ko: "가격", en: "PRICE")
        Self.messages.append(m16)
        
        let m17 = Langs(ko: "단가", en: "PRICE")
        Self.messages.append(m17)
        
        let m18 = Langs(ko: "폴더명", en: "Folder Name")
        Self.messages.append(m18)
        
        let m19 = Langs(ko: "수량", en: "QTY")
        Self.messages.append(m19)
        
        let m20 = Langs(ko: "금액", en: "TOTAL")
        Self.messages.append(m20)
    }
    
    static func getMSG(id: Int) -> String
    {
        let langs =  LocalMSG.messages[id]
        if Self.currentLangCode == "ko"{
            return langs.ko
        }else{
            return langs.en
        }
    }
}