APP-iOS3rd / PJ3T2_Mymory

멋쟁이사자처럼 iOS 앱스쿨 3기 팀 프로젝트
10 stars 3 forks source link

[Feat]: localize기능을 추가하였습니다. #166

Closed Seobe95 closed 7 months ago

Seobe95 commented 7 months ago

PR 가이드라인

PR Checklist

PR 날릴 때 체크 리스트

PR Type

어떤 종류의 PR인가요?

연관되는 issue 정보를 알려주세요

Issue Number: #167

PR 설명하기

localize 기능을 추가하였습니다.

어떻게 작동하나요? code 기반으로 설명해주세요

기본적으로 빌드를 할 경우 각 단어, 문장에 따른 고유 ID가 생성되지만, 조건문이나 String으로 사용하는 경우 ID가 생성되지 않습니다. 이와 같은 경우 String(localized: )기능을 사용하여 사용할 ID를 입력하여 변수를 생성하고, 이를 Text에 넣어 사용하면 됩니다.

struct PostViewFooter: View {
private var findCurrentLocationLocalizingText = String(localized: "현재 위치를 탐색하고 있습니다")
    var body: some View {
        ZStack {
            HStack {
                VStack(alignment: .leading) {
                    Text(viewModel.memoAddressText.isEmpty ? findCurrentLocationLocalizingText : viewModel.memoAddressText)
                    ...
                    }
            }
        }
    }
}

@Binding 혹은 @State와 같은 프로퍼티 래퍼에 사용되는 경우, 다음과 같이 사용할 수 있습니다.

struct FilterButton: View {
    @State var imageName: String = "line.3.horizontal"
    @Binding var buttonName: String

    var body: some View {
        HStack {
            Image(systemName: imageName)
            Text(LocalizedStringKey(buttonName))
        }
    }
}

가능하다면 추가해주세요

변경 사항 스크린샷 혹은 화면 녹화

Localizable파일은 다음 경로에 위치합니다.

스크린샷 2024-02-05 오후 4 58 35

다음과 같이 번역을 할 수 있답니다. 함께 추가해 보아요

스크린샷 2024-02-05 오후 4 59 14

Test 여부

Test 정보

//예시
let testDatas: [TestData] = [.init(...),...]

기타 언급해야 할 사항들